{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Class distribution of training: Counter({np.int32(2): 3136, np.int32(1): 1803, np.int32(0): 1773, np.int32(3): 1758})\n",
      "Class distribution of validation: Counter({np.int32(2): 563, np.int32(3): 350, np.int32(1): 342, np.int32(0): 333})\n",
      "Class distribution of test: Counter({np.int32(2): 189, np.int32(1): 115, np.int32(3): 114, np.int32(0): 112})\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "import gc\n",
    "import sys\n",
    "import sklearn\n",
    "import pathlib\n",
    "import imblearn\n",
    "import keras_tuner\n",
    "import numpy as np\n",
    "import collections\n",
    "import seaborn as sns\n",
    "import tensorflow as tf\n",
    "import matplotlib.pyplot as plt\n",
    "from model import Resnet, ResnetTuner\n",
    "\n",
    "sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(\"Modules\"))))\n",
    "import Modules.ds_loader as ds_loader\n",
    "\n",
    "dataset_loader = ds_loader.DatasetLoader(\n",
    "    xlsx_path=\"../Data/Internal_Dataset/Label_Map.xlsx\",\n",
    "    data_dir=\"../Data/Internal_Dataset\",\n",
    ")\n",
    "\n",
    "X, y = dataset_loader.load_data()\n",
    "\n",
    "X_train, X_temp, y_train, y_temp = sklearn.model_selection.train_test_split(\n",
    "    X, y, test_size=0.2, random_state=42, shuffle=True\n",
    ")\n",
    "\n",
    "X_val, X_test, y_val, y_test = sklearn.model_selection.train_test_split(\n",
    "    X_temp, y_temp, test_size=0.25, random_state=42, shuffle=True\n",
    ")\n",
    "print(f\"Class distribution of training: {collections.Counter(y_train)}\")\n",
    "print(f\"Class distribution of validation: {collections.Counter(y_val)}\")\n",
    "print(f\"Class distribution of test: {collections.Counter(y_test)}\")\n",
    "def min_max_normalize(*datasets):\n",
    "    normalized_datasets = []\n",
    "    for data in datasets:\n",
    "        norm_data = []\n",
    "        for sample in data:\n",
    "            min_val = np.min(sample)\n",
    "            max_val = np.max(sample)\n",
    "            if max_val - min_val == 0:\n",
    "                norm_sample = np.zeros_like(sample, dtype=np.float32)\n",
    "            else:\n",
    "                norm_sample = (sample - min_val) / (max_val - min_val)\n",
    "            norm_data.append(norm_sample)\n",
    "        normalized_datasets.append(np.stack(norm_data, axis=0).astype(np.float32))\n",
    "    return normalized_datasets\n",
    "\n",
    "INPUT_SIZE, FILTERS = 500, 64\n",
    "RDIR = pathlib.Path(f\"Results/RES_{INPUT_SIZE}_{FILTERS}_09\")\n",
    "MDIR = RDIR / f\"RES_{INPUT_SIZE}_{FILTERS}.keras\"\n",
    "CDIR = RDIR / f\"RES_{INPUT_SIZE}_{FILTERS}_CHECKPOINT\"\n",
    "CVDIR = RDIR / f\"RES_{INPUT_SIZE}_CROSS_VAL\"\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Reloading Tuner from Results/RES_500_64_09/RES_500_64/tuner0.json\n",
      "Trial ID: 119, val_accuracy: 0.10949298739433289, val_loss: 0.10949298739433289\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.3, 'dense_units_2': 64, 'dropout_2': 0.3, 'learning_rate': 0.005100109355686097, 'weight_decay': 0.004574004727815324, 'batch_size': 32}\n",
      "Trial ID: 163, val_accuracy: 0.11351891607046127, val_loss: 0.11351891607046127\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.35, 'dense_units_2': 64, 'dropout_2': 0.5, 'learning_rate': 0.0033870182724147825, 'weight_decay': 0.009308089454387202, 'batch_size': 32}\n",
      "Trial ID: 124, val_accuracy: 0.1150164008140564, val_loss: 0.1150164008140564\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.35, 'dense_units_2': 64, 'dropout_2': 0.3, 'learning_rate': 0.005217775571273986, 'weight_decay': 0.005016261356061333, 'batch_size': 32}\n",
      "Trial ID: 101, val_accuracy: 0.11523567140102386, val_loss: 0.11523567140102386\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.3, 'dense_units_2': 32, 'dropout_2': 0.3, 'learning_rate': 0.005495590855393051, 'weight_decay': 0.0019887895210356386, 'batch_size': 32}\n",
      "Trial ID: 104, val_accuracy: 0.11745045334100723, val_loss: 0.11745045334100723\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.35, 'dense_units_2': 32, 'dropout_2': 0.3, 'learning_rate': 0.004801913363797763, 'weight_decay': 0.003258117604194309, 'batch_size': 32}\n",
      "Trial ID: 115, val_accuracy: 0.1178831085562706, val_loss: 0.1178831085562706\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.35, 'dense_units_2': 64, 'dropout_2': 0.4, 'learning_rate': 0.004166689576022923, 'weight_decay': 0.008227989056629524, 'batch_size': 32}\n",
      "Trial ID: 172, val_accuracy: 0.11791772395372391, val_loss: 0.11791772395372391\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.3, 'dense_units_2': 64, 'dropout_2': 0.3, 'learning_rate': 0.005721840034935886, 'weight_decay': 0.004729715264087464, 'batch_size': 32}\n",
      "Trial ID: 210, val_accuracy: 0.12029808014631271, val_loss: 0.12029808014631271\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.35, 'dense_units_2': 64, 'dropout_2': 0.4, 'learning_rate': 0.006578211980536039, 'weight_decay': 0.009389285461251699, 'batch_size': 32}\n",
      "Trial ID: 121, val_accuracy: 0.12095808982849121, val_loss: 0.12095808982849121\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.3, 'dense_units_2': 64, 'dropout_2': 0.3, 'learning_rate': 0.005323624114782333, 'weight_decay': 0.004381377479826087, 'batch_size': 32}\n",
      "Trial ID: 213, val_accuracy: 0.12170377373695374, val_loss: 0.12170377373695374\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.3, 'dense_units_2': 32, 'dropout_2': 0.3, 'learning_rate': 0.0028485109969904523, 'weight_decay': 0.0053003136510103785, 'batch_size': 32}\n",
      "Trial ID: 116, val_accuracy: 0.12171431630849838, val_loss: 0.12171431630849838\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.35, 'dense_units_2': 32, 'dropout_2': 0.3, 'learning_rate': 0.0045922784221724645, 'weight_decay': 0.007899031364660308, 'batch_size': 32}\n",
      "Trial ID: 112, val_accuracy: 0.12180779129266739, val_loss: 0.12180779129266739\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.35, 'dense_units_2': 32, 'dropout_2': 0.35, 'learning_rate': 0.005031804505299233, 'weight_decay': 0.006833064124643628, 'batch_size': 32}\n",
      "Trial ID: 069, val_accuracy: 0.12327144294977188, val_loss: 0.12327144294977188\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.35, 'dense_units_2': 64, 'dropout_2': 0.45, 'learning_rate': 0.0034152070261895765, 'weight_decay': 0.009116322401863781, 'batch_size': 32}\n",
      "Trial ID: 102, val_accuracy: 0.12356477230787277, val_loss: 0.12356477230787277\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.35, 'dense_units_2': 32, 'dropout_2': 0.35, 'learning_rate': 0.005469648207160343, 'weight_decay': 0.006645607743522296, 'batch_size': 32}\n",
      "Trial ID: 081, val_accuracy: 0.12413887679576874, val_loss: 0.12413887679576874\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.35, 'dense_units_2': 64, 'dropout_2': 0.3, 'learning_rate': 0.004720513384811585, 'weight_decay': 0.006404093083058887, 'batch_size': 32}\n",
      "Trial ID: 097, val_accuracy: 0.12492208182811737, val_loss: 0.12492208182811737\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.35, 'dense_units_2': 64, 'dropout_2': 0.35, 'learning_rate': 0.004802671253839719, 'weight_decay': 0.004511140616122415, 'batch_size': 32}\n",
      "Trial ID: 105, val_accuracy: 0.12521906197071075, val_loss: 0.12521906197071075\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.35, 'dense_units_2': 64, 'dropout_2': 0.35, 'learning_rate': 0.00511496882879869, 'weight_decay': 0.0058312945523018534, 'batch_size': 32}\n",
      "Trial ID: 094, val_accuracy: 0.12553194165229797, val_loss: 0.12553194165229797\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.4, 'dense_units_2': 32, 'dropout_2': 0.4, 'learning_rate': 0.00509702802958998, 'weight_decay': 0.006888995520846903, 'batch_size': 32}\n",
      "Trial ID: 191, val_accuracy: 0.12574566900730133, val_loss: 0.12574566900730133\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.3, 'dense_units_2': 64, 'dropout_2': 0.3, 'learning_rate': 0.005155451361331478, 'weight_decay': 0.006243162821156275, 'batch_size': 32}\n",
      "Trial ID: 129, val_accuracy: 0.1263153851032257, val_loss: 0.1263153851032257\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.3, 'dense_units_2': 64, 'dropout_2': 0.5, 'learning_rate': 0.007888537372399354, 'weight_decay': 0.008176858384238084, 'batch_size': 32}\n",
      "Trial ID: 092, val_accuracy: 0.12645165622234344, val_loss: 0.12645165622234344\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 2, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.35, 'dense_units_2': 64, 'dropout_2': 0.3, 'learning_rate': 0.005475576562465996, 'weight_decay': 0.004446207344924676, 'batch_size': 32}\n",
      "Trial ID: 110, val_accuracy: 0.12680165469646454, val_loss: 0.12680165469646454\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.35, 'dense_units_2': 32, 'dropout_2': 0.35, 'learning_rate': 0.004790427026927698, 'weight_decay': 0.007558766397863605, 'batch_size': 32}\n",
      "Trial ID: 072, val_accuracy: 0.12724065780639648, val_loss: 0.12724065780639648\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.35, 'dense_units_2': 64, 'dropout_2': 0.4, 'learning_rate': 0.003433199291594156, 'weight_decay': 0.00700813123038703, 'batch_size': 32}\n",
      "Trial ID: 103, val_accuracy: 0.1275879144668579, val_loss: 0.1275879144668579\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.3, 'dense_units_2': 32, 'dropout_2': 0.3, 'learning_rate': 0.0035627178632530185, 'weight_decay': 0.007573032432866472, 'batch_size': 32}\n",
      "Trial ID: 096, val_accuracy: 0.13006000220775604, val_loss: 0.13006000220775604\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.35, 'dense_units_2': 32, 'dropout_2': 0.35, 'learning_rate': 0.004811158879738167, 'weight_decay': 0.004463839868341395, 'batch_size': 32}\n",
      "Trial ID: 098, val_accuracy: 0.13011987507343292, val_loss: 0.13011987507343292\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.35, 'dense_units_2': 32, 'dropout_2': 0.35, 'learning_rate': 0.004970061670115483, 'weight_decay': 0.00580121868874685, 'batch_size': 32}\n",
      "Trial ID: 049, val_accuracy: 0.1304115504026413, val_loss: 0.1304115504026413\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.4, 'dense_units_2': 64, 'dropout_2': 0.45, 'learning_rate': 0.0031865592861908647, 'weight_decay': 0.01, 'batch_size': 32}\n",
      "Trial ID: 079, val_accuracy: 0.13076046109199524, val_loss: 0.13076046109199524\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.35, 'dense_units_2': 64, 'dropout_2': 0.4, 'learning_rate': 0.0029687908708412106, 'weight_decay': 0.008281663427970399, 'batch_size': 32}\n",
      "Trial ID: 138, val_accuracy: 0.1307775229215622, val_loss: 0.1307775229215622\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.3, 'dense_units_2': 32, 'dropout_2': 0.35, 'learning_rate': 0.003460357366748836, 'weight_decay': 0.003421771758553947, 'batch_size': 32}\n",
      "Trial ID: 093, val_accuracy: 0.13117560744285583, val_loss: 0.13117560744285583\n",
      "Hyperparameters: {'f_units': 32, 'p_size': 5, 'n_convolutions': 3, 'm_convolutions': 3, 'kernel_size_init': 3, 'kernel_size_res': 3, 'coefficient': 1, 'dense_units_1': 64, 'dropout_1': 0.4, 'dense_units_2': 64, 'dropout_2': 0.35, 'learning_rate': 0.005170615975493908, 'weight_decay': 0.006825526824363153, 'batch_size': 32}\n"
     ]
    }
   ],
   "source": [
    "tuner = keras_tuner.RandomSearch(\n",
    "    ResnetTuner(),\n",
    "    objective=\"val_loss\",\n",
    "    max_trials=100,\n",
    "    overwrite=False,\n",
    "    directory=RDIR,\n",
    "    project_name=f\"RES_{INPUT_SIZE}_{FILTERS}\",\n",
    ")\n",
    "\n",
    "tuner.reload()\n",
    "\n",
    "best_trials = tuner.oracle.get_best_trials(num_trials=30)\n",
    "\n",
    "for trial in best_trials:\n",
    "    val_loss = trial.metrics.get_last_value(\"val_loss\")\n",
    "    print(f\"Trial ID: {trial.trial_id}, val_accuracy: {trial.score}, val_loss: {val_loss}\")\n",
    "    print(\"Hyperparameters:\", trial.hyperparameters.values)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Best Model Hyperparameter:\n",
      "f_units: 32\n",
      "p_size: 5\n",
      "n_convolutions: 3\n",
      "m_convolutions: 3\n",
      "kernel_size_init: 3\n",
      "kernel_size_res: 3\n",
      "coefficient: 1\n",
      "dense_units_1: 64\n",
      "dropout_1: 0.4\n",
      "dense_units_2: 64\n",
      "dropout_2: 0.45\n",
      "learning_rate: 0.0031865592861908647\n",
      "weight_decay: 0.01\n",
      "batch_size: 32\n"
     ]
    }
   ],
   "source": [
    "best_trials = tuner.oracle.get_best_trials(num_trials=30)[26]\n",
    "best_hps = best_trials.hyperparameters.values\n",
    "print(\"Best Model Hyperparameter:\")\n",
    "for key, value in best_hps.items():\n",
    "    print(f\"{key}: {value}\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "--- Fold 1 ---\n",
      "Fold 1 - Training samples: 10060, Validation samples: 1694\n",
      "Class distribution after SMOTE: Counter({np.int32(1): 2515, np.int32(2): 2515, np.int32(3): 2515, np.int32(0): 2515})\n",
      "Epoch 1/300\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 16ms/step - accuracy: 0.2925 - loss: 1.4584\n",
      "Epoch 1: val_loss improved from inf to 1.02068, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_1.keras\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m15s\u001b[0m 21ms/step - accuracy: 0.2926 - loss: 1.4579 - val_accuracy: 0.5443 - val_loss: 1.0207 - learning_rate: 0.0032\n",
      "Epoch 2/300\n",
      "\u001b[1m311/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.5192 - loss: 1.0459\n",
      "Epoch 2: val_loss improved from 1.02068 to 0.90447, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_1.keras\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.5200 - loss: 1.0448 - val_accuracy: 0.6942 - val_loss: 0.9045 - learning_rate: 0.0032\n",
      "Epoch 3/300\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.6311 - loss: 0.8236\n",
      "Epoch 3: val_loss improved from 0.90447 to 0.51289, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_1.keras\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.6312 - loss: 0.8234 - val_accuracy: 0.8353 - val_loss: 0.5129 - learning_rate: 0.0032\n",
      "Epoch 4/300\n",
      "\u001b[1m305/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.7569 - loss: 0.6172\n",
      "Epoch 4: val_loss did not improve from 0.51289\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.7574 - loss: 0.6165 - val_accuracy: 0.8135 - val_loss: 0.5789 - learning_rate: 0.0032\n",
      "Epoch 5/300\n",
      "\u001b[1m306/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8085 - loss: 0.5187\n",
      "Epoch 5: ReduceLROnPlateau reducing learning rate to 0.0015932796522974968.\n",
      "\n",
      "Epoch 5: val_loss did not improve from 0.51289\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.8089 - loss: 0.5180 - val_accuracy: 0.7586 - val_loss: 0.5483 - learning_rate: 0.0032\n",
      "Epoch 6/300\n",
      "\u001b[1m312/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8540 - loss: 0.4149\n",
      "Epoch 6: val_loss improved from 0.51289 to 0.40794, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_1.keras\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8540 - loss: 0.4147 - val_accuracy: 0.8796 - val_loss: 0.4079 - learning_rate: 0.0016\n",
      "Epoch 7/300\n",
      "\u001b[1m305/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8757 - loss: 0.3434\n",
      "Epoch 7: val_loss improved from 0.40794 to 0.34859, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_1.keras\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8754 - loss: 0.3443 - val_accuracy: 0.9002 - val_loss: 0.3486 - learning_rate: 0.0016\n",
      "Epoch 8/300\n",
      "\u001b[1m309/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8728 - loss: 0.3422\n",
      "Epoch 8: val_loss did not improve from 0.34859\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8728 - loss: 0.3423 - val_accuracy: 0.8991 - val_loss: 0.4153 - learning_rate: 0.0016\n",
      "Epoch 9/300\n",
      "\u001b[1m313/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8737 - loss: 0.3453\n",
      "Epoch 9: ReduceLROnPlateau reducing learning rate to 0.0007966398261487484.\n",
      "\n",
      "Epoch 9: val_loss did not improve from 0.34859\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8737 - loss: 0.3453 - val_accuracy: 0.8117 - val_loss: 0.4907 - learning_rate: 0.0016\n",
      "Epoch 10/300\n",
      "\u001b[1m306/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8705 - loss: 0.3371\n",
      "Epoch 10: val_loss improved from 0.34859 to 0.21040, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_1.keras\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8707 - loss: 0.3366 - val_accuracy: 0.9416 - val_loss: 0.2104 - learning_rate: 7.9664e-04\n",
      "Epoch 11/300\n",
      "\u001b[1m306/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8901 - loss: 0.2945\n",
      "Epoch 11: val_loss did not improve from 0.21040\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.8900 - loss: 0.2946 - val_accuracy: 0.9368 - val_loss: 0.2387 - learning_rate: 7.9664e-04\n",
      "Epoch 12/300\n",
      "\u001b[1m312/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8856 - loss: 0.2952\n",
      "Epoch 12: ReduceLROnPlateau reducing learning rate to 0.0003983199130743742.\n",
      "\n",
      "Epoch 12: val_loss did not improve from 0.21040\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.8856 - loss: 0.2952 - val_accuracy: 0.9380 - val_loss: 0.2470 - learning_rate: 7.9664e-04\n",
      "Epoch 13/300\n",
      "\u001b[1m307/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8949 - loss: 0.2749\n",
      "Epoch 13: val_loss improved from 0.21040 to 0.20997, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_1.keras\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8949 - loss: 0.2747 - val_accuracy: 0.9481 - val_loss: 0.2100 - learning_rate: 3.9832e-04\n",
      "Epoch 14/300\n",
      "\u001b[1m312/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9008 - loss: 0.2561\n",
      "Epoch 14: val_loss did not improve from 0.20997\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9008 - loss: 0.2562 - val_accuracy: 0.9486 - val_loss: 0.2119 - learning_rate: 3.9832e-04\n",
      "Epoch 15/300\n",
      "\u001b[1m304/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9041 - loss: 0.2524\n",
      "Epoch 15: ReduceLROnPlateau reducing learning rate to 0.0001991599565371871.\n",
      "\n",
      "Epoch 15: val_loss did not improve from 0.20997\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9040 - loss: 0.2527 - val_accuracy: 0.9475 - val_loss: 0.2148 - learning_rate: 3.9832e-04\n",
      "Epoch 16/300\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9033 - loss: 0.2516\n",
      "Epoch 16: val_loss did not improve from 0.20997\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9033 - loss: 0.2516 - val_accuracy: 0.9451 - val_loss: 0.2229 - learning_rate: 1.9916e-04\n",
      "Epoch 17/300\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9020 - loss: 0.2573\n",
      "Epoch 17: ReduceLROnPlateau reducing learning rate to 9.957997826859355e-05.\n",
      "\n",
      "Epoch 17: val_loss did not improve from 0.20997\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9020 - loss: 0.2573 - val_accuracy: 0.9475 - val_loss: 0.2310 - learning_rate: 1.9916e-04\n",
      "Epoch 18/300\n",
      "\u001b[1m307/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9139 - loss: 0.2348\n",
      "Epoch 18: val_loss improved from 0.20997 to 0.20695, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_1.keras\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9139 - loss: 0.2347 - val_accuracy: 0.9522 - val_loss: 0.2069 - learning_rate: 9.9580e-05\n",
      "Epoch 19/300\n",
      "\u001b[1m312/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9081 - loss: 0.2271\n",
      "Epoch 19: val_loss did not improve from 0.20695\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9081 - loss: 0.2272 - val_accuracy: 0.9498 - val_loss: 0.2236 - learning_rate: 9.9580e-05\n",
      "Epoch 20/300\n",
      "\u001b[1m314/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9155 - loss: 0.2270\n",
      "Epoch 20: ReduceLROnPlateau reducing learning rate to 4.9789989134296775e-05.\n",
      "\n",
      "Epoch 20: val_loss did not improve from 0.20695\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9155 - loss: 0.2270 - val_accuracy: 0.9498 - val_loss: 0.2227 - learning_rate: 9.9580e-05\n",
      "Epoch 21/300\n",
      "\u001b[1m314/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9078 - loss: 0.2428\n",
      "Epoch 21: val_loss did not improve from 0.20695\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9078 - loss: 0.2427 - val_accuracy: 0.9516 - val_loss: 0.2183 - learning_rate: 4.9790e-05\n",
      "Epoch 22/300\n",
      "\u001b[1m305/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9091 - loss: 0.2223\n",
      "Epoch 22: ReduceLROnPlateau reducing learning rate to 2.4894994567148387e-05.\n",
      "\n",
      "Epoch 22: val_loss did not improve from 0.20695\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9091 - loss: 0.2224 - val_accuracy: 0.9504 - val_loss: 0.2200 - learning_rate: 4.9790e-05\n",
      "Epoch 23/300\n",
      "\u001b[1m313/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9186 - loss: 0.2145\n",
      "Epoch 23: val_loss did not improve from 0.20695\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9186 - loss: 0.2145 - val_accuracy: 0.9492 - val_loss: 0.2181 - learning_rate: 2.4895e-05\n",
      "Epoch 24/300\n",
      "\u001b[1m305/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9191 - loss: 0.2164\n",
      "Epoch 24: ReduceLROnPlateau reducing learning rate to 1.2447497283574194e-05.\n",
      "\n",
      "Epoch 24: val_loss did not improve from 0.20695\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9189 - loss: 0.2167 - val_accuracy: 0.9516 - val_loss: 0.2196 - learning_rate: 2.4895e-05\n",
      "Epoch 25/300\n",
      "\u001b[1m308/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9122 - loss: 0.2174\n",
      "Epoch 25: val_loss did not improve from 0.20695\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9123 - loss: 0.2174 - val_accuracy: 0.9504 - val_loss: 0.2231 - learning_rate: 1.2447e-05\n",
      "Epoch 26/300\n",
      "\u001b[1m307/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9175 - loss: 0.2191\n",
      "Epoch 26: ReduceLROnPlateau reducing learning rate to 6.223748641787097e-06.\n",
      "\n",
      "Epoch 26: val_loss did not improve from 0.20695\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9174 - loss: 0.2192 - val_accuracy: 0.9516 - val_loss: 0.2222 - learning_rate: 1.2447e-05\n",
      "Epoch 27/300\n",
      "\u001b[1m309/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9063 - loss: 0.2311\n",
      "Epoch 27: val_loss did not improve from 0.20695\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9064 - loss: 0.2311 - val_accuracy: 0.9516 - val_loss: 0.2222 - learning_rate: 6.2237e-06\n",
      "Epoch 28/300\n",
      "\u001b[1m306/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9132 - loss: 0.2202\n",
      "Epoch 28: ReduceLROnPlateau reducing learning rate to 3.1118743208935484e-06.\n",
      "\n",
      "Epoch 28: val_loss did not improve from 0.20695\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9133 - loss: 0.2199 - val_accuracy: 0.9510 - val_loss: 0.2215 - learning_rate: 6.2237e-06\n",
      "Epoch 29/300\n",
      "\u001b[1m314/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9054 - loss: 0.2281\n",
      "Epoch 29: val_loss did not improve from 0.20695\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9054 - loss: 0.2281 - val_accuracy: 0.9522 - val_loss: 0.2201 - learning_rate: 3.1119e-06\n",
      "Epoch 30/300\n",
      "\u001b[1m314/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9141 - loss: 0.2160\n",
      "Epoch 30: ReduceLROnPlateau reducing learning rate to 1.5559371604467742e-06.\n",
      "\n",
      "Epoch 30: val_loss did not improve from 0.20695\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9141 - loss: 0.2160 - val_accuracy: 0.9522 - val_loss: 0.2193 - learning_rate: 3.1119e-06\n",
      "Epoch 31/300\n",
      "\u001b[1m312/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9117 - loss: 0.2352\n",
      "Epoch 31: val_loss did not improve from 0.20695\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 4ms/step - accuracy: 0.9117 - loss: 0.2351 - val_accuracy: 0.9522 - val_loss: 0.2206 - learning_rate: 1.5559e-06\n",
      "Epoch 32/300\n",
      "\u001b[1m305/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9155 - loss: 0.2198\n",
      "Epoch 32: ReduceLROnPlateau reducing learning rate to 7.779685802233871e-07.\n",
      "\n",
      "Epoch 32: val_loss did not improve from 0.20695\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9157 - loss: 0.2195 - val_accuracy: 0.9522 - val_loss: 0.2186 - learning_rate: 1.5559e-06\n",
      "Epoch 33/300\n",
      "\u001b[1m312/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9204 - loss: 0.2083\n",
      "Epoch 33: val_loss did not improve from 0.20695\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9203 - loss: 0.2084 - val_accuracy: 0.9522 - val_loss: 0.2201 - learning_rate: 7.7797e-07\n",
      "Epoch 34/300\n",
      "\u001b[1m311/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9207 - loss: 0.2147\n",
      "Epoch 34: ReduceLROnPlateau reducing learning rate to 3.8898429011169355e-07.\n",
      "\n",
      "Epoch 34: val_loss did not improve from 0.20695\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9207 - loss: 0.2148 - val_accuracy: 0.9516 - val_loss: 0.2204 - learning_rate: 7.7797e-07\n",
      "Epoch 35/300\n",
      "\u001b[1m311/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9113 - loss: 0.2269\n",
      "Epoch 35: val_loss did not improve from 0.20695\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9113 - loss: 0.2269 - val_accuracy: 0.9522 - val_loss: 0.2201 - learning_rate: 3.8898e-07\n",
      "Epoch 36/300\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9176 - loss: 0.2104\n",
      "Epoch 36: ReduceLROnPlateau reducing learning rate to 1.9449214505584678e-07.\n",
      "\n",
      "Epoch 36: val_loss did not improve from 0.20695\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9176 - loss: 0.2104 - val_accuracy: 0.9516 - val_loss: 0.2209 - learning_rate: 3.8898e-07\n",
      "Epoch 37/300\n",
      "\u001b[1m308/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9161 - loss: 0.2143\n",
      "Epoch 37: val_loss did not improve from 0.20695\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9160 - loss: 0.2144 - val_accuracy: 0.9516 - val_loss: 0.2210 - learning_rate: 1.9449e-07\n",
      "Epoch 38/300\n",
      "\u001b[1m312/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9097 - loss: 0.2313\n",
      "Epoch 38: ReduceLROnPlateau reducing learning rate to 9.724607252792339e-08.\n",
      "\n",
      "Epoch 38: val_loss did not improve from 0.20695\n",
      "\u001b[1m315/315\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9097 - loss: 0.2312 - val_accuracy: 0.9522 - val_loss: 0.2199 - learning_rate: 1.9449e-07\n",
      "Epoch 38: early stopping\n",
      "Restoring model weights from the end of the best epoch: 18.\n",
      "Fold 1 Validation Accuracy: 0.9522\n",
      "Saved best model from Fold 1 with Accuracy: 0.9522\n",
      "\n",
      "--- Fold 2 ---\n",
      "Fold 2 - Training samples: 10036, Validation samples: 1694\n",
      "Class distribution after SMOTE: Counter({np.int32(3): 2509, np.int32(1): 2509, np.int32(0): 2509, np.int32(2): 2509})\n",
      "Epoch 1/300\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 16ms/step - accuracy: 0.3036 - loss: 1.4396\n",
      "Epoch 1: val_loss improved from inf to 1.13325, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_2.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m15s\u001b[0m 22ms/step - accuracy: 0.3038 - loss: 1.4390 - val_accuracy: 0.4581 - val_loss: 1.1333 - learning_rate: 0.0032\n",
      "Epoch 2/300\n",
      "\u001b[1m305/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.5633 - loss: 1.0154\n",
      "Epoch 2: val_loss improved from 1.13325 to 0.65337, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_2.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.5640 - loss: 1.0137 - val_accuracy: 0.7715 - val_loss: 0.6534 - learning_rate: 0.0032\n",
      "Epoch 3/300\n",
      "\u001b[1m304/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.6489 - loss: 0.8523\n",
      "Epoch 3: val_loss did not improve from 0.65337\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.6492 - loss: 0.8516 - val_accuracy: 0.7763 - val_loss: 0.7240 - learning_rate: 0.0032\n",
      "Epoch 4/300\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.6684 - loss: 0.7642\n",
      "Epoch 4: val_loss improved from 0.65337 to 0.50066, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_2.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.6685 - loss: 0.7640 - val_accuracy: 0.8247 - val_loss: 0.5007 - learning_rate: 0.0032\n",
      "Epoch 5/300\n",
      "\u001b[1m303/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.7414 - loss: 0.6276\n",
      "Epoch 5: val_loss improved from 0.50066 to 0.44255, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_2.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.7419 - loss: 0.6271 - val_accuracy: 0.8619 - val_loss: 0.4425 - learning_rate: 0.0032\n",
      "Epoch 6/300\n",
      "\u001b[1m310/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8066 - loss: 0.5312\n",
      "Epoch 6: val_loss did not improve from 0.44255\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8067 - loss: 0.5309 - val_accuracy: 0.8194 - val_loss: 0.4524 - learning_rate: 0.0032\n",
      "Epoch 7/300\n",
      "\u001b[1m308/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8429 - loss: 0.4427\n",
      "Epoch 7: ReduceLROnPlateau reducing learning rate to 0.0015932796522974968.\n",
      "\n",
      "Epoch 7: val_loss did not improve from 0.44255\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8429 - loss: 0.4426 - val_accuracy: 0.7981 - val_loss: 0.4482 - learning_rate: 0.0032\n",
      "Epoch 8/300\n",
      "\u001b[1m310/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8639 - loss: 0.3890\n",
      "Epoch 8: val_loss improved from 0.44255 to 0.39922, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_2.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8640 - loss: 0.3887 - val_accuracy: 0.8731 - val_loss: 0.3992 - learning_rate: 0.0016\n",
      "Epoch 9/300\n",
      "\u001b[1m304/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8777 - loss: 0.3317\n",
      "Epoch 9: val_loss improved from 0.39922 to 0.19824, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_2.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8777 - loss: 0.3315 - val_accuracy: 0.9303 - val_loss: 0.1982 - learning_rate: 0.0016\n",
      "Epoch 10/300\n",
      "\u001b[1m312/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8862 - loss: 0.3191\n",
      "Epoch 10: val_loss did not improve from 0.19824\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.8862 - loss: 0.3190 - val_accuracy: 0.8979 - val_loss: 0.2752 - learning_rate: 0.0016\n",
      "Epoch 11/300\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8902 - loss: 0.2987\n",
      "Epoch 11: ReduceLROnPlateau reducing learning rate to 0.0007966398261487484.\n",
      "\n",
      "Epoch 11: val_loss did not improve from 0.19824\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8902 - loss: 0.2987 - val_accuracy: 0.8158 - val_loss: 0.4664 - learning_rate: 0.0016\n",
      "Epoch 12/300\n",
      "\u001b[1m313/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8951 - loss: 0.2840\n",
      "Epoch 12: val_loss improved from 0.19824 to 0.16117, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_2.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8951 - loss: 0.2839 - val_accuracy: 0.9492 - val_loss: 0.1612 - learning_rate: 7.9664e-04\n",
      "Epoch 13/300\n",
      "\u001b[1m312/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9003 - loss: 0.2720\n",
      "Epoch 13: val_loss improved from 0.16117 to 0.15849, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_2.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9004 - loss: 0.2719 - val_accuracy: 0.9528 - val_loss: 0.1585 - learning_rate: 7.9664e-04\n",
      "Epoch 14/300\n",
      "\u001b[1m312/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9072 - loss: 0.2469\n",
      "Epoch 14: val_loss did not improve from 0.15849\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9073 - loss: 0.2469 - val_accuracy: 0.9274 - val_loss: 0.2441 - learning_rate: 7.9664e-04\n",
      "Epoch 15/300\n",
      "\u001b[1m303/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9147 - loss: 0.2503\n",
      "Epoch 15: ReduceLROnPlateau reducing learning rate to 0.0003983199130743742.\n",
      "\n",
      "Epoch 15: val_loss did not improve from 0.15849\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9151 - loss: 0.2496 - val_accuracy: 0.9475 - val_loss: 0.1602 - learning_rate: 7.9664e-04\n",
      "Epoch 16/300\n",
      "\u001b[1m301/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9370 - loss: 0.1959\n",
      "Epoch 16: val_loss improved from 0.15849 to 0.15083, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_2.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9371 - loss: 0.1959 - val_accuracy: 0.9534 - val_loss: 0.1508 - learning_rate: 3.9832e-04\n",
      "Epoch 17/300\n",
      "\u001b[1m310/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9446 - loss: 0.1794\n",
      "Epoch 17: val_loss improved from 0.15083 to 0.13982, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_2.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9446 - loss: 0.1794 - val_accuracy: 0.9545 - val_loss: 0.1398 - learning_rate: 3.9832e-04\n",
      "Epoch 18/300\n",
      "\u001b[1m309/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9427 - loss: 0.1736\n",
      "Epoch 18: val_loss did not improve from 0.13982\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9427 - loss: 0.1738 - val_accuracy: 0.9540 - val_loss: 0.1465 - learning_rate: 3.9832e-04\n",
      "Epoch 19/300\n",
      "\u001b[1m309/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9428 - loss: 0.1736\n",
      "Epoch 19: ReduceLROnPlateau reducing learning rate to 0.0001991599565371871.\n",
      "\n",
      "Epoch 19: val_loss did not improve from 0.13982\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9427 - loss: 0.1737 - val_accuracy: 0.9551 - val_loss: 0.1469 - learning_rate: 3.9832e-04\n",
      "Epoch 20/300\n",
      "\u001b[1m305/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9488 - loss: 0.1644\n",
      "Epoch 20: val_loss did not improve from 0.13982\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9490 - loss: 0.1640 - val_accuracy: 0.9551 - val_loss: 0.1599 - learning_rate: 1.9916e-04\n",
      "Epoch 21/300\n",
      "\u001b[1m306/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9563 - loss: 0.1429\n",
      "Epoch 21: ReduceLROnPlateau reducing learning rate to 9.957997826859355e-05.\n",
      "\n",
      "Epoch 21: val_loss did not improve from 0.13982\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9562 - loss: 0.1432 - val_accuracy: 0.9510 - val_loss: 0.1674 - learning_rate: 1.9916e-04\n",
      "Epoch 22/300\n",
      "\u001b[1m302/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9532 - loss: 0.1447\n",
      "Epoch 22: val_loss did not improve from 0.13982\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9532 - loss: 0.1448 - val_accuracy: 0.9569 - val_loss: 0.1513 - learning_rate: 9.9580e-05\n",
      "Epoch 23/300\n",
      "\u001b[1m310/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9490 - loss: 0.1519\n",
      "Epoch 23: ReduceLROnPlateau reducing learning rate to 4.9789989134296775e-05.\n",
      "\n",
      "Epoch 23: val_loss did not improve from 0.13982\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9491 - loss: 0.1519 - val_accuracy: 0.9575 - val_loss: 0.1499 - learning_rate: 9.9580e-05\n",
      "Epoch 24/300\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9534 - loss: 0.1460\n",
      "Epoch 24: val_loss did not improve from 0.13982\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9534 - loss: 0.1459 - val_accuracy: 0.9557 - val_loss: 0.1458 - learning_rate: 4.9790e-05\n",
      "Epoch 25/300\n",
      "\u001b[1m306/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9562 - loss: 0.1357\n",
      "Epoch 25: ReduceLROnPlateau reducing learning rate to 2.4894994567148387e-05.\n",
      "\n",
      "Epoch 25: val_loss did not improve from 0.13982\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9562 - loss: 0.1359 - val_accuracy: 0.9587 - val_loss: 0.1475 - learning_rate: 4.9790e-05\n",
      "Epoch 26/300\n",
      "\u001b[1m313/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9547 - loss: 0.1396\n",
      "Epoch 26: val_loss did not improve from 0.13982\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9547 - loss: 0.1396 - val_accuracy: 0.9569 - val_loss: 0.1478 - learning_rate: 2.4895e-05\n",
      "Epoch 27/300\n",
      "\u001b[1m303/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9474 - loss: 0.1502\n",
      "Epoch 27: ReduceLROnPlateau reducing learning rate to 1.2447497283574194e-05.\n",
      "\n",
      "Epoch 27: val_loss did not improve from 0.13982\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9476 - loss: 0.1500 - val_accuracy: 0.9587 - val_loss: 0.1493 - learning_rate: 2.4895e-05\n",
      "Epoch 28/300\n",
      "\u001b[1m308/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9518 - loss: 0.1422\n",
      "Epoch 28: val_loss did not improve from 0.13982\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9519 - loss: 0.1421 - val_accuracy: 0.9575 - val_loss: 0.1502 - learning_rate: 1.2447e-05\n",
      "Epoch 29/300\n",
      "\u001b[1m304/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9522 - loss: 0.1501\n",
      "Epoch 29: ReduceLROnPlateau reducing learning rate to 6.223748641787097e-06.\n",
      "\n",
      "Epoch 29: val_loss did not improve from 0.13982\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9523 - loss: 0.1497 - val_accuracy: 0.9569 - val_loss: 0.1498 - learning_rate: 1.2447e-05\n",
      "Epoch 30/300\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9574 - loss: 0.1323\n",
      "Epoch 30: val_loss did not improve from 0.13982\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9574 - loss: 0.1323 - val_accuracy: 0.9563 - val_loss: 0.1509 - learning_rate: 6.2237e-06\n",
      "Epoch 31/300\n",
      "\u001b[1m309/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9577 - loss: 0.1369\n",
      "Epoch 31: ReduceLROnPlateau reducing learning rate to 3.1118743208935484e-06.\n",
      "\n",
      "Epoch 31: val_loss did not improve from 0.13982\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9577 - loss: 0.1370 - val_accuracy: 0.9569 - val_loss: 0.1502 - learning_rate: 6.2237e-06\n",
      "Epoch 32/300\n",
      "\u001b[1m311/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9533 - loss: 0.1475\n",
      "Epoch 32: val_loss did not improve from 0.13982\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9533 - loss: 0.1474 - val_accuracy: 0.9557 - val_loss: 0.1498 - learning_rate: 3.1119e-06\n",
      "Epoch 33/300\n",
      "\u001b[1m311/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9485 - loss: 0.1453\n",
      "Epoch 33: ReduceLROnPlateau reducing learning rate to 1.5559371604467742e-06.\n",
      "\n",
      "Epoch 33: val_loss did not improve from 0.13982\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9485 - loss: 0.1453 - val_accuracy: 0.9563 - val_loss: 0.1496 - learning_rate: 3.1119e-06\n",
      "Epoch 34/300\n",
      "\u001b[1m307/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9517 - loss: 0.1534\n",
      "Epoch 34: val_loss did not improve from 0.13982\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9518 - loss: 0.1531 - val_accuracy: 0.9557 - val_loss: 0.1500 - learning_rate: 1.5559e-06\n",
      "Epoch 35/300\n",
      "\u001b[1m302/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9565 - loss: 0.1321\n",
      "Epoch 35: ReduceLROnPlateau reducing learning rate to 7.779685802233871e-07.\n",
      "\n",
      "Epoch 35: val_loss did not improve from 0.13982\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9565 - loss: 0.1322 - val_accuracy: 0.9569 - val_loss: 0.1500 - learning_rate: 1.5559e-06\n",
      "Epoch 36/300\n",
      "\u001b[1m311/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9506 - loss: 0.1465\n",
      "Epoch 36: val_loss did not improve from 0.13982\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9506 - loss: 0.1464 - val_accuracy: 0.9569 - val_loss: 0.1500 - learning_rate: 7.7797e-07\n",
      "Epoch 37/300\n",
      "\u001b[1m303/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9535 - loss: 0.1429\n",
      "Epoch 37: ReduceLROnPlateau reducing learning rate to 3.8898429011169355e-07.\n",
      "\n",
      "Epoch 37: val_loss did not improve from 0.13982\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9535 - loss: 0.1427 - val_accuracy: 0.9563 - val_loss: 0.1497 - learning_rate: 7.7797e-07\n",
      "Epoch 37: early stopping\n",
      "Restoring model weights from the end of the best epoch: 17.\n",
      "Fold 2 Validation Accuracy: 0.9545\n",
      "Saved best model from Fold 2 with Accuracy: 0.9545\n",
      "\n",
      "--- Fold 3 ---\n",
      "Fold 3 - Training samples: 10048, Validation samples: 1694\n",
      "Class distribution after SMOTE: Counter({np.int32(2): 2512, np.int32(3): 2512, np.int32(0): 2512, np.int32(1): 2512})\n",
      "Epoch 1/300\n",
      "\u001b[1m307/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.2968 - loss: 1.4916\n",
      "Epoch 1: val_loss improved from inf to 1.28404, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_3.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 10ms/step - accuracy: 0.2985 - loss: 1.4873 - val_accuracy: 0.3554 - val_loss: 1.2840 - learning_rate: 0.0032\n",
      "Epoch 2/300\n",
      "\u001b[1m307/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.5100 - loss: 1.0605\n",
      "Epoch 2: val_loss did not improve from 1.28404\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.5112 - loss: 1.0587 - val_accuracy: 0.4209 - val_loss: 1.9022 - learning_rate: 0.0032\n",
      "Epoch 3/300\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.6707 - loss: 0.7959\n",
      "Epoch 3: val_loss improved from 1.28404 to 0.58326, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_3.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.6708 - loss: 0.7958 - val_accuracy: 0.7881 - val_loss: 0.5833 - learning_rate: 0.0032\n",
      "Epoch 4/300\n",
      "\u001b[1m311/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.7702 - loss: 0.6303\n",
      "Epoch 4: val_loss did not improve from 0.58326\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.7702 - loss: 0.6302 - val_accuracy: 0.7538 - val_loss: 0.6524 - learning_rate: 0.0032\n",
      "Epoch 5/300\n",
      "\u001b[1m304/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8074 - loss: 0.5593\n",
      "Epoch 5: val_loss improved from 0.58326 to 0.52097, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_3.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8079 - loss: 0.5582 - val_accuracy: 0.8241 - val_loss: 0.5210 - learning_rate: 0.0032\n",
      "Epoch 6/300\n",
      "\u001b[1m306/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8396 - loss: 0.4872\n",
      "Epoch 6: val_loss improved from 0.52097 to 0.38475, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_3.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8397 - loss: 0.4867 - val_accuracy: 0.8784 - val_loss: 0.3847 - learning_rate: 0.0032\n",
      "Epoch 7/300\n",
      "\u001b[1m313/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8502 - loss: 0.4552\n",
      "Epoch 7: val_loss did not improve from 0.38475\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.8502 - loss: 0.4550 - val_accuracy: 0.7060 - val_loss: 0.9481 - learning_rate: 0.0032\n",
      "Epoch 8/300\n",
      "\u001b[1m302/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8713 - loss: 0.3968\n",
      "Epoch 8: ReduceLROnPlateau reducing learning rate to 0.0015932796522974968.\n",
      "\n",
      "Epoch 8: val_loss did not improve from 0.38475\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.8714 - loss: 0.3963 - val_accuracy: 0.8589 - val_loss: 0.4088 - learning_rate: 0.0032\n",
      "Epoch 9/300\n",
      "\u001b[1m310/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9057 - loss: 0.2863\n",
      "Epoch 9: val_loss improved from 0.38475 to 0.24326, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_3.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9056 - loss: 0.2865 - val_accuracy: 0.9109 - val_loss: 0.2433 - learning_rate: 0.0016\n",
      "Epoch 10/300\n",
      "\u001b[1m305/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9098 - loss: 0.2720\n",
      "Epoch 10: val_loss did not improve from 0.24326\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9100 - loss: 0.2718 - val_accuracy: 0.9085 - val_loss: 0.2494 - learning_rate: 0.0016\n",
      "Epoch 11/300\n",
      "\u001b[1m311/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9269 - loss: 0.2464\n",
      "Epoch 11: ReduceLROnPlateau reducing learning rate to 0.0007966398261487484.\n",
      "\n",
      "Epoch 11: val_loss did not improve from 0.24326\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9269 - loss: 0.2464 - val_accuracy: 0.9168 - val_loss: 0.2486 - learning_rate: 0.0016\n",
      "Epoch 12/300\n",
      "\u001b[1m313/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9392 - loss: 0.2051\n",
      "Epoch 12: val_loss improved from 0.24326 to 0.20182, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_3.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9393 - loss: 0.2050 - val_accuracy: 0.9315 - val_loss: 0.2018 - learning_rate: 7.9664e-04\n",
      "Epoch 13/300\n",
      "\u001b[1m308/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9479 - loss: 0.1679\n",
      "Epoch 13: val_loss did not improve from 0.20182\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9478 - loss: 0.1680 - val_accuracy: 0.9357 - val_loss: 0.2106 - learning_rate: 7.9664e-04\n",
      "Epoch 14/300\n",
      "\u001b[1m302/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9507 - loss: 0.1642\n",
      "Epoch 14: val_loss improved from 0.20182 to 0.19327, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_3.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9506 - loss: 0.1643 - val_accuracy: 0.9351 - val_loss: 0.1933 - learning_rate: 7.9664e-04\n",
      "Epoch 15/300\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9486 - loss: 0.1642\n",
      "Epoch 15: val_loss did not improve from 0.19327\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9486 - loss: 0.1642 - val_accuracy: 0.8949 - val_loss: 0.3347 - learning_rate: 7.9664e-04\n",
      "Epoch 16/300\n",
      "\u001b[1m310/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9556 - loss: 0.1556\n",
      "Epoch 16: ReduceLROnPlateau reducing learning rate to 0.0003983199130743742.\n",
      "\n",
      "Epoch 16: val_loss did not improve from 0.19327\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9556 - loss: 0.1556 - val_accuracy: 0.9256 - val_loss: 0.2314 - learning_rate: 7.9664e-04\n",
      "Epoch 17/300\n",
      "\u001b[1m305/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9614 - loss: 0.1346\n",
      "Epoch 17: val_loss did not improve from 0.19327\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9613 - loss: 0.1346 - val_accuracy: 0.9339 - val_loss: 0.2276 - learning_rate: 3.9832e-04\n",
      "Epoch 18/300\n",
      "\u001b[1m302/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9617 - loss: 0.1426\n",
      "Epoch 18: ReduceLROnPlateau reducing learning rate to 0.0001991599565371871.\n",
      "\n",
      "Epoch 18: val_loss did not improve from 0.19327\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9618 - loss: 0.1420 - val_accuracy: 0.9362 - val_loss: 0.2118 - learning_rate: 3.9832e-04\n",
      "Epoch 19/300\n",
      "\u001b[1m304/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9674 - loss: 0.1129\n",
      "Epoch 19: val_loss did not improve from 0.19327\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9673 - loss: 0.1130 - val_accuracy: 0.9421 - val_loss: 0.2004 - learning_rate: 1.9916e-04\n",
      "Epoch 20/300\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9684 - loss: 0.1140\n",
      "Epoch 20: ReduceLROnPlateau reducing learning rate to 9.957997826859355e-05.\n",
      "\n",
      "Epoch 20: val_loss did not improve from 0.19327\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9684 - loss: 0.1140 - val_accuracy: 0.9427 - val_loss: 0.2109 - learning_rate: 1.9916e-04\n",
      "Epoch 21/300\n",
      "\u001b[1m309/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9708 - loss: 0.1063\n",
      "Epoch 21: val_loss did not improve from 0.19327\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9708 - loss: 0.1064 - val_accuracy: 0.9416 - val_loss: 0.2020 - learning_rate: 9.9580e-05\n",
      "Epoch 22/300\n",
      "\u001b[1m311/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9773 - loss: 0.0913\n",
      "Epoch 22: ReduceLROnPlateau reducing learning rate to 4.9789989134296775e-05.\n",
      "\n",
      "Epoch 22: val_loss did not improve from 0.19327\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9772 - loss: 0.0915 - val_accuracy: 0.9463 - val_loss: 0.2007 - learning_rate: 9.9580e-05\n",
      "Epoch 23/300\n",
      "\u001b[1m313/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9761 - loss: 0.0892\n",
      "Epoch 23: val_loss did not improve from 0.19327\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9761 - loss: 0.0893 - val_accuracy: 0.9451 - val_loss: 0.2070 - learning_rate: 4.9790e-05\n",
      "Epoch 24/300\n",
      "\u001b[1m307/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9725 - loss: 0.0926\n",
      "Epoch 24: ReduceLROnPlateau reducing learning rate to 2.4894994567148387e-05.\n",
      "\n",
      "Epoch 24: val_loss did not improve from 0.19327\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9725 - loss: 0.0928 - val_accuracy: 0.9439 - val_loss: 0.2081 - learning_rate: 4.9790e-05\n",
      "Epoch 25/300\n",
      "\u001b[1m307/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9753 - loss: 0.0878\n",
      "Epoch 25: val_loss did not improve from 0.19327\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9753 - loss: 0.0879 - val_accuracy: 0.9439 - val_loss: 0.2081 - learning_rate: 2.4895e-05\n",
      "Epoch 26/300\n",
      "\u001b[1m303/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9776 - loss: 0.0902\n",
      "Epoch 26: ReduceLROnPlateau reducing learning rate to 1.2447497283574194e-05.\n",
      "\n",
      "Epoch 26: val_loss did not improve from 0.19327\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9775 - loss: 0.0903 - val_accuracy: 0.9433 - val_loss: 0.2098 - learning_rate: 2.4895e-05\n",
      "Epoch 27/300\n",
      "\u001b[1m305/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9736 - loss: 0.0962\n",
      "Epoch 27: val_loss did not improve from 0.19327\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9737 - loss: 0.0961 - val_accuracy: 0.9469 - val_loss: 0.2093 - learning_rate: 1.2447e-05\n",
      "Epoch 28/300\n",
      "\u001b[1m302/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9735 - loss: 0.0993\n",
      "Epoch 28: ReduceLROnPlateau reducing learning rate to 6.223748641787097e-06.\n",
      "\n",
      "Epoch 28: val_loss did not improve from 0.19327\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9736 - loss: 0.0991 - val_accuracy: 0.9457 - val_loss: 0.2072 - learning_rate: 1.2447e-05\n",
      "Epoch 29/300\n",
      "\u001b[1m311/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9735 - loss: 0.0862\n",
      "Epoch 29: val_loss did not improve from 0.19327\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9735 - loss: 0.0863 - val_accuracy: 0.9463 - val_loss: 0.2081 - learning_rate: 6.2237e-06\n",
      "Epoch 30/300\n",
      "\u001b[1m306/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9742 - loss: 0.0967\n",
      "Epoch 30: ReduceLROnPlateau reducing learning rate to 3.1118743208935484e-06.\n",
      "\n",
      "Epoch 30: val_loss did not improve from 0.19327\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9742 - loss: 0.0967 - val_accuracy: 0.9457 - val_loss: 0.2078 - learning_rate: 6.2237e-06\n",
      "Epoch 31/300\n",
      "\u001b[1m304/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9737 - loss: 0.0951\n",
      "Epoch 31: val_loss did not improve from 0.19327\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9737 - loss: 0.0951 - val_accuracy: 0.9451 - val_loss: 0.2081 - learning_rate: 3.1119e-06\n",
      "Epoch 32/300\n",
      "\u001b[1m313/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9745 - loss: 0.0893\n",
      "Epoch 32: ReduceLROnPlateau reducing learning rate to 1.5559371604467742e-06.\n",
      "\n",
      "Epoch 32: val_loss did not improve from 0.19327\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9745 - loss: 0.0893 - val_accuracy: 0.9457 - val_loss: 0.2078 - learning_rate: 3.1119e-06\n",
      "Epoch 33/300\n",
      "\u001b[1m302/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9733 - loss: 0.0985\n",
      "Epoch 33: val_loss did not improve from 0.19327\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9733 - loss: 0.0982 - val_accuracy: 0.9463 - val_loss: 0.2078 - learning_rate: 1.5559e-06\n",
      "Epoch 34/300\n",
      "\u001b[1m311/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9741 - loss: 0.0889\n",
      "Epoch 34: ReduceLROnPlateau reducing learning rate to 7.779685802233871e-07.\n",
      "\n",
      "Epoch 34: val_loss did not improve from 0.19327\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9740 - loss: 0.0890 - val_accuracy: 0.9451 - val_loss: 0.2089 - learning_rate: 1.5559e-06\n",
      "Epoch 34: early stopping\n",
      "Restoring model weights from the end of the best epoch: 14.\n",
      "Fold 3 Validation Accuracy: 0.9351\n",
      "\n",
      "--- Fold 4 ---\n",
      "Fold 4 - Training samples: 9996, Validation samples: 1694\n",
      "Class distribution after SMOTE: Counter({np.int32(2): 2499, np.int32(3): 2499, np.int32(0): 2499, np.int32(1): 2499})\n",
      "Epoch 1/300\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 16ms/step - accuracy: 0.2824 - loss: 1.5381\n",
      "Epoch 1: val_loss improved from inf to 1.22789, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_4.keras\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m15s\u001b[0m 22ms/step - accuracy: 0.2826 - loss: 1.5375 - val_accuracy: 0.4817 - val_loss: 1.2279 - learning_rate: 0.0032\n",
      "Epoch 2/300\n",
      "\u001b[1m305/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.4955 - loss: 1.0841\n",
      "Epoch 2: val_loss improved from 1.22789 to 0.81565, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_4.keras\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.4961 - loss: 1.0828 - val_accuracy: 0.6972 - val_loss: 0.8156 - learning_rate: 0.0032\n",
      "Epoch 3/300\n",
      "\u001b[1m309/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.6286 - loss: 0.8579\n",
      "Epoch 3: val_loss improved from 0.81565 to 0.53904, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_4.keras\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.6290 - loss: 0.8572 - val_accuracy: 0.8205 - val_loss: 0.5390 - learning_rate: 0.0032\n",
      "Epoch 4/300\n",
      "\u001b[1m307/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.7082 - loss: 0.7283\n",
      "Epoch 4: val_loss improved from 0.53904 to 0.52221, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_4.keras\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.7084 - loss: 0.7278 - val_accuracy: 0.8146 - val_loss: 0.5222 - learning_rate: 0.0032\n",
      "Epoch 5/300\n",
      "\u001b[1m310/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.7346 - loss: 0.6728\n",
      "Epoch 5: val_loss did not improve from 0.52221\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.7348 - loss: 0.6724 - val_accuracy: 0.7910 - val_loss: 0.5451 - learning_rate: 0.0032\n",
      "Epoch 6/300\n",
      "\u001b[1m312/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.7812 - loss: 0.6003\n",
      "Epoch 6: ReduceLROnPlateau reducing learning rate to 0.0015932796522974968.\n",
      "\n",
      "Epoch 6: val_loss did not improve from 0.52221\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.7812 - loss: 0.6002 - val_accuracy: 0.8217 - val_loss: 0.5583 - learning_rate: 0.0032\n",
      "Epoch 7/300\n",
      "\u001b[1m306/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8188 - loss: 0.5090\n",
      "Epoch 7: val_loss improved from 0.52221 to 0.41245, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_4.keras\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8189 - loss: 0.5088 - val_accuracy: 0.8601 - val_loss: 0.4124 - learning_rate: 0.0016\n",
      "Epoch 8/300\n",
      "\u001b[1m307/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8447 - loss: 0.4500\n",
      "Epoch 8: val_loss did not improve from 0.41245\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8449 - loss: 0.4496 - val_accuracy: 0.8465 - val_loss: 0.4255 - learning_rate: 0.0016\n",
      "Epoch 9/300\n",
      "\u001b[1m307/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8725 - loss: 0.4029\n",
      "Epoch 9: val_loss improved from 0.41245 to 0.34684, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_4.keras\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8726 - loss: 0.4024 - val_accuracy: 0.8937 - val_loss: 0.3468 - learning_rate: 0.0016\n",
      "Epoch 10/300\n",
      "\u001b[1m306/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8806 - loss: 0.3590\n",
      "Epoch 10: val_loss improved from 0.34684 to 0.26518, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_4.keras\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8806 - loss: 0.3590 - val_accuracy: 0.9109 - val_loss: 0.2652 - learning_rate: 0.0016\n",
      "Epoch 11/300\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8863 - loss: 0.3289\n",
      "Epoch 11: val_loss did not improve from 0.26518\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.8863 - loss: 0.3289 - val_accuracy: 0.8796 - val_loss: 0.3333 - learning_rate: 0.0016\n",
      "Epoch 12/300\n",
      "\u001b[1m308/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9025 - loss: 0.3013\n",
      "Epoch 12: val_loss improved from 0.26518 to 0.24916, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_4.keras\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9024 - loss: 0.3016 - val_accuracy: 0.9256 - val_loss: 0.2492 - learning_rate: 0.0016\n",
      "Epoch 13/300\n",
      "\u001b[1m310/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9110 - loss: 0.2713\n",
      "Epoch 13: val_loss did not improve from 0.24916\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9110 - loss: 0.2714 - val_accuracy: 0.9026 - val_loss: 0.2699 - learning_rate: 0.0016\n",
      "Epoch 14/300\n",
      "\u001b[1m304/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9192 - loss: 0.2606\n",
      "Epoch 14: ReduceLROnPlateau reducing learning rate to 0.0007966398261487484.\n",
      "\n",
      "Epoch 14: val_loss did not improve from 0.24916\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9191 - loss: 0.2604 - val_accuracy: 0.8979 - val_loss: 0.2843 - learning_rate: 0.0016\n",
      "Epoch 15/300\n",
      "\u001b[1m304/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9276 - loss: 0.2362\n",
      "Epoch 15: val_loss improved from 0.24916 to 0.23972, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_4.keras\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9278 - loss: 0.2357 - val_accuracy: 0.9150 - val_loss: 0.2397 - learning_rate: 7.9664e-04\n",
      "Epoch 16/300\n",
      "\u001b[1m304/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9329 - loss: 0.2106\n",
      "Epoch 16: val_loss did not improve from 0.23972\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9330 - loss: 0.2103 - val_accuracy: 0.9156 - val_loss: 0.2815 - learning_rate: 7.9664e-04\n",
      "Epoch 17/300\n",
      "\u001b[1m304/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9347 - loss: 0.2073\n",
      "Epoch 17: val_loss improved from 0.23972 to 0.20464, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_4.keras\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9349 - loss: 0.2070 - val_accuracy: 0.9404 - val_loss: 0.2046 - learning_rate: 7.9664e-04\n",
      "Epoch 18/300\n",
      "\u001b[1m303/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9414 - loss: 0.2002\n",
      "Epoch 18: val_loss did not improve from 0.20464\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9415 - loss: 0.1998 - val_accuracy: 0.9268 - val_loss: 0.2165 - learning_rate: 7.9664e-04\n",
      "Epoch 19/300\n",
      "\u001b[1m307/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9503 - loss: 0.1675\n",
      "Epoch 19: ReduceLROnPlateau reducing learning rate to 0.0003983199130743742.\n",
      "\n",
      "Epoch 19: val_loss did not improve from 0.20464\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9502 - loss: 0.1678 - val_accuracy: 0.9227 - val_loss: 0.2334 - learning_rate: 7.9664e-04\n",
      "Epoch 20/300\n",
      "\u001b[1m310/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9489 - loss: 0.1713\n",
      "Epoch 20: val_loss did not improve from 0.20464\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9489 - loss: 0.1712 - val_accuracy: 0.9380 - val_loss: 0.2055 - learning_rate: 3.9832e-04\n",
      "Epoch 21/300\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9545 - loss: 0.1453\n",
      "Epoch 21: ReduceLROnPlateau reducing learning rate to 0.0001991599565371871.\n",
      "\n",
      "Epoch 21: val_loss did not improve from 0.20464\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9545 - loss: 0.1453 - val_accuracy: 0.9303 - val_loss: 0.2241 - learning_rate: 3.9832e-04\n",
      "Epoch 22/300\n",
      "\u001b[1m303/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9550 - loss: 0.1427\n",
      "Epoch 22: val_loss improved from 0.20464 to 0.20101, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_4.keras\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9550 - loss: 0.1428 - val_accuracy: 0.9416 - val_loss: 0.2010 - learning_rate: 1.9916e-04\n",
      "Epoch 23/300\n",
      "\u001b[1m310/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9580 - loss: 0.1393\n",
      "Epoch 23: val_loss improved from 0.20101 to 0.18750, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_4.keras\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9580 - loss: 0.1392 - val_accuracy: 0.9433 - val_loss: 0.1875 - learning_rate: 1.9916e-04\n",
      "Epoch 24/300\n",
      "\u001b[1m312/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9641 - loss: 0.1323\n",
      "Epoch 24: val_loss did not improve from 0.18750\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9641 - loss: 0.1323 - val_accuracy: 0.9392 - val_loss: 0.2007 - learning_rate: 1.9916e-04\n",
      "Epoch 25/300\n",
      "\u001b[1m307/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9615 - loss: 0.1288\n",
      "Epoch 25: ReduceLROnPlateau reducing learning rate to 9.957997826859355e-05.\n",
      "\n",
      "Epoch 25: val_loss did not improve from 0.18750\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9615 - loss: 0.1288 - val_accuracy: 0.9410 - val_loss: 0.2056 - learning_rate: 1.9916e-04\n",
      "Epoch 26/300\n",
      "\u001b[1m310/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9679 - loss: 0.1104\n",
      "Epoch 26: val_loss did not improve from 0.18750\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9679 - loss: 0.1105 - val_accuracy: 0.9439 - val_loss: 0.2010 - learning_rate: 9.9580e-05\n",
      "Epoch 27/300\n",
      "\u001b[1m310/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9675 - loss: 0.1037\n",
      "Epoch 27: ReduceLROnPlateau reducing learning rate to 4.9789989134296775e-05.\n",
      "\n",
      "Epoch 27: val_loss did not improve from 0.18750\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9675 - loss: 0.1037 - val_accuracy: 0.9410 - val_loss: 0.2076 - learning_rate: 9.9580e-05\n",
      "Epoch 28/300\n",
      "\u001b[1m307/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9629 - loss: 0.1248\n",
      "Epoch 28: val_loss did not improve from 0.18750\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9630 - loss: 0.1245 - val_accuracy: 0.9439 - val_loss: 0.2032 - learning_rate: 4.9790e-05\n",
      "Epoch 29/300\n",
      "\u001b[1m308/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9667 - loss: 0.1096\n",
      "Epoch 29: ReduceLROnPlateau reducing learning rate to 2.4894994567148387e-05.\n",
      "\n",
      "Epoch 29: val_loss did not improve from 0.18750\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9666 - loss: 0.1097 - val_accuracy: 0.9451 - val_loss: 0.2045 - learning_rate: 4.9790e-05\n",
      "Epoch 30/300\n",
      "\u001b[1m310/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9701 - loss: 0.1055\n",
      "Epoch 30: val_loss did not improve from 0.18750\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9700 - loss: 0.1056 - val_accuracy: 0.9433 - val_loss: 0.2056 - learning_rate: 2.4895e-05\n",
      "Epoch 31/300\n",
      "\u001b[1m305/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9672 - loss: 0.1154\n",
      "Epoch 31: ReduceLROnPlateau reducing learning rate to 1.2447497283574194e-05.\n",
      "\n",
      "Epoch 31: val_loss did not improve from 0.18750\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9673 - loss: 0.1152 - val_accuracy: 0.9439 - val_loss: 0.2071 - learning_rate: 2.4895e-05\n",
      "Epoch 32/300\n",
      "\u001b[1m307/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9656 - loss: 0.1084\n",
      "Epoch 32: val_loss did not improve from 0.18750\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9656 - loss: 0.1084 - val_accuracy: 0.9433 - val_loss: 0.2065 - learning_rate: 1.2447e-05\n",
      "Epoch 33/300\n",
      "\u001b[1m309/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9696 - loss: 0.0991\n",
      "Epoch 33: ReduceLROnPlateau reducing learning rate to 6.223748641787097e-06.\n",
      "\n",
      "Epoch 33: val_loss did not improve from 0.18750\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9696 - loss: 0.0991 - val_accuracy: 0.9427 - val_loss: 0.2056 - learning_rate: 1.2447e-05\n",
      "Epoch 34/300\n",
      "\u001b[1m306/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9701 - loss: 0.1068\n",
      "Epoch 34: val_loss did not improve from 0.18750\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9701 - loss: 0.1070 - val_accuracy: 0.9421 - val_loss: 0.2069 - learning_rate: 6.2237e-06\n",
      "Epoch 35/300\n",
      "\u001b[1m309/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9642 - loss: 0.1181\n",
      "Epoch 35: ReduceLROnPlateau reducing learning rate to 3.1118743208935484e-06.\n",
      "\n",
      "Epoch 35: val_loss did not improve from 0.18750\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9642 - loss: 0.1181 - val_accuracy: 0.9439 - val_loss: 0.2103 - learning_rate: 6.2237e-06\n",
      "Epoch 36/300\n",
      "\u001b[1m309/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9658 - loss: 0.1129\n",
      "Epoch 36: val_loss did not improve from 0.18750\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9659 - loss: 0.1129 - val_accuracy: 0.9427 - val_loss: 0.2079 - learning_rate: 3.1119e-06\n",
      "Epoch 37/300\n",
      "\u001b[1m304/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9685 - loss: 0.1127\n",
      "Epoch 37: ReduceLROnPlateau reducing learning rate to 1.5559371604467742e-06.\n",
      "\n",
      "Epoch 37: val_loss did not improve from 0.18750\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9684 - loss: 0.1128 - val_accuracy: 0.9433 - val_loss: 0.2062 - learning_rate: 3.1119e-06\n",
      "Epoch 38/300\n",
      "\u001b[1m310/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9678 - loss: 0.1109\n",
      "Epoch 38: val_loss did not improve from 0.18750\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9678 - loss: 0.1109 - val_accuracy: 0.9427 - val_loss: 0.2061 - learning_rate: 1.5559e-06\n",
      "Epoch 39/300\n",
      "\u001b[1m308/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9713 - loss: 0.1052\n",
      "Epoch 39: ReduceLROnPlateau reducing learning rate to 7.779685802233871e-07.\n",
      "\n",
      "Epoch 39: val_loss did not improve from 0.18750\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9712 - loss: 0.1053 - val_accuracy: 0.9427 - val_loss: 0.2061 - learning_rate: 1.5559e-06\n",
      "Epoch 40/300\n",
      "\u001b[1m307/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9641 - loss: 0.1177\n",
      "Epoch 40: val_loss did not improve from 0.18750\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9642 - loss: 0.1176 - val_accuracy: 0.9427 - val_loss: 0.2079 - learning_rate: 7.7797e-07\n",
      "Epoch 41/300\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9694 - loss: 0.1051\n",
      "Epoch 41: ReduceLROnPlateau reducing learning rate to 3.8898429011169355e-07.\n",
      "\n",
      "Epoch 41: val_loss did not improve from 0.18750\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9694 - loss: 0.1051 - val_accuracy: 0.9427 - val_loss: 0.2077 - learning_rate: 7.7797e-07\n",
      "Epoch 42/300\n",
      "\u001b[1m312/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9693 - loss: 0.0981\n",
      "Epoch 42: val_loss did not improve from 0.18750\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.9693 - loss: 0.0982 - val_accuracy: 0.9427 - val_loss: 0.2077 - learning_rate: 3.8898e-07\n",
      "Epoch 43/300\n",
      "\u001b[1m301/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9655 - loss: 0.1097\n",
      "Epoch 43: ReduceLROnPlateau reducing learning rate to 1.9449214505584678e-07.\n",
      "\n",
      "Epoch 43: val_loss did not improve from 0.18750\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9655 - loss: 0.1097 - val_accuracy: 0.9427 - val_loss: 0.2078 - learning_rate: 3.8898e-07\n",
      "Epoch 43: early stopping\n",
      "Restoring model weights from the end of the best epoch: 23.\n",
      "Fold 4 Validation Accuracy: 0.9433\n",
      "\n",
      "--- Fold 5 ---\n",
      "Fold 5 - Training samples: 10036, Validation samples: 1694\n",
      "Class distribution after SMOTE: Counter({np.int32(3): 2509, np.int32(2): 2509, np.int32(0): 2509, np.int32(1): 2509})\n",
      "Epoch 1/300\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 16ms/step - accuracy: 0.2976 - loss: 1.4776\n",
      "Epoch 1: val_loss improved from inf to 1.03327, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_5.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m15s\u001b[0m 22ms/step - accuracy: 0.2978 - loss: 1.4770 - val_accuracy: 0.5443 - val_loss: 1.0333 - learning_rate: 0.0032\n",
      "Epoch 2/300\n",
      "\u001b[1m311/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.6009 - loss: 0.8965\n",
      "Epoch 2: val_loss improved from 1.03327 to 0.99278, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_5.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.6013 - loss: 0.8957 - val_accuracy: 0.7379 - val_loss: 0.9928 - learning_rate: 0.0032\n",
      "Epoch 3/300\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.7060 - loss: 0.6833\n",
      "Epoch 3: val_loss improved from 0.99278 to 0.55518, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_5.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.7061 - loss: 0.6833 - val_accuracy: 0.8093 - val_loss: 0.5552 - learning_rate: 0.0032\n",
      "Epoch 4/300\n",
      "\u001b[1m300/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.7365 - loss: 0.6346\n",
      "Epoch 4: val_loss improved from 0.55518 to 0.40929, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_5.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.7379 - loss: 0.6323 - val_accuracy: 0.8459 - val_loss: 0.4093 - learning_rate: 0.0032\n",
      "Epoch 5/300\n",
      "\u001b[1m313/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8099 - loss: 0.5115\n",
      "Epoch 5: val_loss did not improve from 0.40929\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8100 - loss: 0.5113 - val_accuracy: 0.5508 - val_loss: 1.9334 - learning_rate: 0.0032\n",
      "Epoch 6/300\n",
      "\u001b[1m307/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8503 - loss: 0.4294\n",
      "Epoch 6: val_loss improved from 0.40929 to 0.30442, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_5.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8501 - loss: 0.4298 - val_accuracy: 0.8961 - val_loss: 0.3044 - learning_rate: 0.0032\n",
      "Epoch 7/300\n",
      "\u001b[1m307/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8682 - loss: 0.3824\n",
      "Epoch 7: val_loss did not improve from 0.30442\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8683 - loss: 0.3822 - val_accuracy: 0.7940 - val_loss: 0.5989 - learning_rate: 0.0032\n",
      "Epoch 8/300\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.8940 - loss: 0.3381\n",
      "Epoch 8: ReduceLROnPlateau reducing learning rate to 0.0015932796522974968.\n",
      "\n",
      "Epoch 8: val_loss did not improve from 0.30442\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.8940 - loss: 0.3381 - val_accuracy: 0.7733 - val_loss: 0.6508 - learning_rate: 0.0032\n",
      "Epoch 9/300\n",
      "\u001b[1m313/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9055 - loss: 0.2705\n",
      "Epoch 9: val_loss improved from 0.30442 to 0.22100, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_5.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9055 - loss: 0.2705 - val_accuracy: 0.9286 - val_loss: 0.2210 - learning_rate: 0.0016\n",
      "Epoch 10/300\n",
      "\u001b[1m305/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9053 - loss: 0.2659\n",
      "Epoch 10: val_loss did not improve from 0.22100\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9054 - loss: 0.2659 - val_accuracy: 0.9315 - val_loss: 0.2617 - learning_rate: 0.0016\n",
      "Epoch 11/300\n",
      "\u001b[1m303/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9123 - loss: 0.2493\n",
      "Epoch 11: val_loss improved from 0.22100 to 0.18193, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_5.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9124 - loss: 0.2493 - val_accuracy: 0.9416 - val_loss: 0.1819 - learning_rate: 0.0016\n",
      "Epoch 12/300\n",
      "\u001b[1m310/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9104 - loss: 0.2528\n",
      "Epoch 12: val_loss did not improve from 0.18193\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9104 - loss: 0.2528 - val_accuracy: 0.9368 - val_loss: 0.1904 - learning_rate: 0.0016\n",
      "Epoch 13/300\n",
      "\u001b[1m309/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9215 - loss: 0.2331\n",
      "Epoch 13: ReduceLROnPlateau reducing learning rate to 0.0007966398261487484.\n",
      "\n",
      "Epoch 13: val_loss did not improve from 0.18193\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9214 - loss: 0.2331 - val_accuracy: 0.9398 - val_loss: 0.2101 - learning_rate: 0.0016\n",
      "Epoch 14/300\n",
      "\u001b[1m303/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9234 - loss: 0.2143\n",
      "Epoch 14: val_loss improved from 0.18193 to 0.16695, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_5.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9235 - loss: 0.2142 - val_accuracy: 0.9475 - val_loss: 0.1670 - learning_rate: 7.9664e-04\n",
      "Epoch 15/300\n",
      "\u001b[1m310/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9340 - loss: 0.1771\n",
      "Epoch 15: val_loss improved from 0.16695 to 0.16476, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_5.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9339 - loss: 0.1774 - val_accuracy: 0.9516 - val_loss: 0.1648 - learning_rate: 7.9664e-04\n",
      "Epoch 16/300\n",
      "\u001b[1m311/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9243 - loss: 0.2139\n",
      "Epoch 16: val_loss did not improve from 0.16476\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9243 - loss: 0.2138 - val_accuracy: 0.9398 - val_loss: 0.2084 - learning_rate: 7.9664e-04\n",
      "Epoch 17/300\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9289 - loss: 0.1983\n",
      "Epoch 17: ReduceLROnPlateau reducing learning rate to 0.0003983199130743742.\n",
      "\n",
      "Epoch 17: val_loss did not improve from 0.16476\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9289 - loss: 0.1983 - val_accuracy: 0.9451 - val_loss: 0.1871 - learning_rate: 7.9664e-04\n",
      "Epoch 18/300\n",
      "\u001b[1m305/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9414 - loss: 0.1707\n",
      "Epoch 18: val_loss did not improve from 0.16476\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9414 - loss: 0.1705 - val_accuracy: 0.9557 - val_loss: 0.1649 - learning_rate: 3.9832e-04\n",
      "Epoch 19/300\n",
      "\u001b[1m307/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9432 - loss: 0.1595\n",
      "Epoch 19: ReduceLROnPlateau reducing learning rate to 0.0001991599565371871.\n",
      "\n",
      "Epoch 19: val_loss did not improve from 0.16476\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9432 - loss: 0.1595 - val_accuracy: 0.9504 - val_loss: 0.1716 - learning_rate: 3.9832e-04\n",
      "Epoch 20/300\n",
      "\u001b[1m302/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9374 - loss: 0.1657\n",
      "Epoch 20: val_loss improved from 0.16476 to 0.16192, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_5.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9376 - loss: 0.1654 - val_accuracy: 0.9540 - val_loss: 0.1619 - learning_rate: 1.9916e-04\n",
      "Epoch 21/300\n",
      "\u001b[1m305/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9435 - loss: 0.1587\n",
      "Epoch 21: val_loss did not improve from 0.16192\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9434 - loss: 0.1588 - val_accuracy: 0.9545 - val_loss: 0.1635 - learning_rate: 1.9916e-04\n",
      "Epoch 22/300\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9422 - loss: 0.1509\n",
      "Epoch 22: val_loss improved from 0.16192 to 0.15840, saving model to Results/RES_500_64_09/RES_500_64_CHECKPOINT_fold_5.keras\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9422 - loss: 0.1509 - val_accuracy: 0.9563 - val_loss: 0.1584 - learning_rate: 1.9916e-04\n",
      "Epoch 23/300\n",
      "\u001b[1m311/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9422 - loss: 0.1617\n",
      "Epoch 23: val_loss did not improve from 0.15840\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9422 - loss: 0.1615 - val_accuracy: 0.9569 - val_loss: 0.1757 - learning_rate: 1.9916e-04\n",
      "Epoch 24/300\n",
      "\u001b[1m302/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9429 - loss: 0.1441\n",
      "Epoch 24: ReduceLROnPlateau reducing learning rate to 9.957997826859355e-05.\n",
      "\n",
      "Epoch 24: val_loss did not improve from 0.15840\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9430 - loss: 0.1442 - val_accuracy: 0.9563 - val_loss: 0.1707 - learning_rate: 1.9916e-04\n",
      "Epoch 25/300\n",
      "\u001b[1m313/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9433 - loss: 0.1525\n",
      "Epoch 25: val_loss did not improve from 0.15840\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9433 - loss: 0.1525 - val_accuracy: 0.9557 - val_loss: 0.1787 - learning_rate: 9.9580e-05\n",
      "Epoch 26/300\n",
      "\u001b[1m306/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9432 - loss: 0.1508\n",
      "Epoch 26: ReduceLROnPlateau reducing learning rate to 4.9789989134296775e-05.\n",
      "\n",
      "Epoch 26: val_loss did not improve from 0.15840\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9432 - loss: 0.1506 - val_accuracy: 0.9587 - val_loss: 0.1782 - learning_rate: 9.9580e-05\n",
      "Epoch 27/300\n",
      "\u001b[1m311/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9463 - loss: 0.1407\n",
      "Epoch 27: val_loss did not improve from 0.15840\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9462 - loss: 0.1408 - val_accuracy: 0.9575 - val_loss: 0.1819 - learning_rate: 4.9790e-05\n",
      "Epoch 28/300\n",
      "\u001b[1m306/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9505 - loss: 0.1348\n",
      "Epoch 28: ReduceLROnPlateau reducing learning rate to 2.4894994567148387e-05.\n",
      "\n",
      "Epoch 28: val_loss did not improve from 0.15840\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9503 - loss: 0.1351 - val_accuracy: 0.9563 - val_loss: 0.1773 - learning_rate: 4.9790e-05\n",
      "Epoch 29/300\n",
      "\u001b[1m313/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9420 - loss: 0.1444\n",
      "Epoch 29: val_loss did not improve from 0.15840\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9420 - loss: 0.1444 - val_accuracy: 0.9563 - val_loss: 0.1773 - learning_rate: 2.4895e-05\n",
      "Epoch 30/300\n",
      "\u001b[1m304/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9516 - loss: 0.1329\n",
      "Epoch 30: ReduceLROnPlateau reducing learning rate to 1.2447497283574194e-05.\n",
      "\n",
      "Epoch 30: val_loss did not improve from 0.15840\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9515 - loss: 0.1331 - val_accuracy: 0.9545 - val_loss: 0.1797 - learning_rate: 2.4895e-05\n",
      "Epoch 31/300\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9475 - loss: 0.1413\n",
      "Epoch 31: val_loss did not improve from 0.15840\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9475 - loss: 0.1413 - val_accuracy: 0.9569 - val_loss: 0.1796 - learning_rate: 1.2447e-05\n",
      "Epoch 32/300\n",
      "\u001b[1m309/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9477 - loss: 0.1409\n",
      "Epoch 32: ReduceLROnPlateau reducing learning rate to 6.223748641787097e-06.\n",
      "\n",
      "Epoch 32: val_loss did not improve from 0.15840\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9477 - loss: 0.1409 - val_accuracy: 0.9551 - val_loss: 0.1793 - learning_rate: 1.2447e-05\n",
      "Epoch 33/300\n",
      "\u001b[1m304/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9532 - loss: 0.1277\n",
      "Epoch 33: val_loss did not improve from 0.15840\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9531 - loss: 0.1280 - val_accuracy: 0.9551 - val_loss: 0.1790 - learning_rate: 6.2237e-06\n",
      "Epoch 34/300\n",
      "\u001b[1m307/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9494 - loss: 0.1316\n",
      "Epoch 34: ReduceLROnPlateau reducing learning rate to 3.1118743208935484e-06.\n",
      "\n",
      "Epoch 34: val_loss did not improve from 0.15840\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9494 - loss: 0.1317 - val_accuracy: 0.9551 - val_loss: 0.1788 - learning_rate: 6.2237e-06\n",
      "Epoch 35/300\n",
      "\u001b[1m312/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9520 - loss: 0.1286\n",
      "Epoch 35: val_loss did not improve from 0.15840\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9520 - loss: 0.1286 - val_accuracy: 0.9557 - val_loss: 0.1778 - learning_rate: 3.1119e-06\n",
      "Epoch 36/300\n",
      "\u001b[1m308/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9529 - loss: 0.1298\n",
      "Epoch 36: ReduceLROnPlateau reducing learning rate to 1.5559371604467742e-06.\n",
      "\n",
      "Epoch 36: val_loss did not improve from 0.15840\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9528 - loss: 0.1299 - val_accuracy: 0.9563 - val_loss: 0.1789 - learning_rate: 3.1119e-06\n",
      "Epoch 37/300\n",
      "\u001b[1m307/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9470 - loss: 0.1396\n",
      "Epoch 37: val_loss did not improve from 0.15840\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9470 - loss: 0.1395 - val_accuracy: 0.9557 - val_loss: 0.1791 - learning_rate: 1.5559e-06\n",
      "Epoch 38/300\n",
      "\u001b[1m304/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9411 - loss: 0.1459\n",
      "Epoch 38: ReduceLROnPlateau reducing learning rate to 7.779685802233871e-07.\n",
      "\n",
      "Epoch 38: val_loss did not improve from 0.15840\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9412 - loss: 0.1456 - val_accuracy: 0.9557 - val_loss: 0.1789 - learning_rate: 1.5559e-06\n",
      "Epoch 39/300\n",
      "\u001b[1m308/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9552 - loss: 0.1264\n",
      "Epoch 39: val_loss did not improve from 0.15840\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9551 - loss: 0.1265 - val_accuracy: 0.9563 - val_loss: 0.1792 - learning_rate: 7.7797e-07\n",
      "Epoch 40/300\n",
      "\u001b[1m306/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9422 - loss: 0.1492\n",
      "Epoch 40: ReduceLROnPlateau reducing learning rate to 3.8898429011169355e-07.\n",
      "\n",
      "Epoch 40: val_loss did not improve from 0.15840\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9422 - loss: 0.1492 - val_accuracy: 0.9557 - val_loss: 0.1797 - learning_rate: 7.7797e-07\n",
      "Epoch 41/300\n",
      "\u001b[1m311/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9491 - loss: 0.1416\n",
      "Epoch 41: val_loss did not improve from 0.15840\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9491 - loss: 0.1416 - val_accuracy: 0.9563 - val_loss: 0.1792 - learning_rate: 3.8898e-07\n",
      "Epoch 42/300\n",
      "\u001b[1m307/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 4ms/step - accuracy: 0.9483 - loss: 0.1364\n",
      "Epoch 42: ReduceLROnPlateau reducing learning rate to 1.9449214505584678e-07.\n",
      "\n",
      "Epoch 42: val_loss did not improve from 0.15840\n",
      "\u001b[1m314/314\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 5ms/step - accuracy: 0.9483 - loss: 0.1363 - val_accuracy: 0.9563 - val_loss: 0.1788 - learning_rate: 3.8898e-07\n",
      "Epoch 42: early stopping\n",
      "Restoring model weights from the end of the best epoch: 22.\n",
      "Fold 5 Validation Accuracy: 0.9563\n",
      "Saved best model from Fold 5 with Accuracy: 0.9563\n",
      "\n",
      "=== Cross-Validation Results ===\n",
      "Cross-validation accuracies: [0.9521842002868652, 0.9545454382896423, 0.9350649118423462, 0.943329393863678, 0.9563164114952087]\n",
      "Average CV accuracy: 0.9483 ± 0.0080\n",
      "Max CV accuracy: 0.9563\n",
      "Min CV accuracy: 0.9351\n"
     ]
    }
   ],
   "source": [
    "best_hps = tuner.get_best_hyperparameters(num_trials=30)[26]\n",
    "kfold = sklearn.model_selection.KFold(n_splits=5, shuffle=True, random_state=42)\n",
    "fold_accuracies = []\n",
    "fold_histories = []\n",
    "\n",
    "best_accuracy = 0.0\n",
    "best_model = None  \n",
    "\n",
    "for fold, (train_idx, val_idx) in enumerate(kfold.split(X_train, y_train)):\n",
    "    tf.keras.backend.clear_session()\n",
    "    tf.keras.mixed_precision.set_global_policy(\"mixed_float16\")\n",
    "    gc.collect()\n",
    "    print(f\"\\n--- Fold {fold+1} ---\")\n",
    "    \n",
    "    X_tr, X_val_fold = X_train[train_idx], X_train[val_idx]\n",
    "    y_tr, y_val_fold = y_train[train_idx], y_train[val_idx]\n",
    "    \n",
    "    X_tr, X_val_fold = min_max_normalize(X_tr, X_val_fold)\n",
    "\n",
    "    orig_shape = X_tr.shape[1:]  \n",
    "    X_tr_flat = X_tr.reshape((X_tr.shape[0], -1))\n",
    "    smote = imblearn.over_sampling.SMOTE(random_state=42)\n",
    "    X_tr_res, y_tr_res = smote.fit_resample(X_tr_flat, y_tr)\n",
    "    X_tr = X_tr_res.reshape((-1, *orig_shape)).astype(np.float32)\n",
    "    y_tr = y_tr_res\n",
    "    X_tr, y_tr = sklearn.utils.shuffle(X_tr, y_tr, random_state=42)\n",
    "    \n",
    "    print(f\"Fold {fold+1} - Training samples: {X_tr.shape[0]}, Validation samples: {X_val_fold.shape[0]}\")\n",
    "    print(f\"Class distribution after SMOTE: {collections.Counter(y_tr)}\")\n",
    "\n",
    "    model_builder = Resnet()\n",
    "    model = model_builder.build_model(\n",
    "        c_units=best_hps.get(\"f_units\"),\n",
    "        p_size=best_hps.get(\"p_size\"),\n",
    "        m_convolutions=best_hps.get(\"m_convolutions\"),\n",
    "        n_convolutions=best_hps.get(\"n_convolutions\"),\n",
    "        coefficient = best_hps.get(\"coefficient\"),\n",
    "        k_units_1=best_hps.get(\"kernel_size_init\"),\n",
    "        k_units_2=best_hps.get(\"kernel_size_res\"),\n",
    "        d_units_1=best_hps.get(\"dense_units_1\"),\n",
    "        dropout_1=best_hps.get(\"dropout_1\"),\n",
    "        d_units_2=best_hps.get(\"dense_units_2\"),\n",
    "        dropout_2=best_hps.get(\"dropout_2\"),\n",
    "        learning_rate=best_hps.get(\"learning_rate\"),\n",
    "        weight_decay=best_hps.get(\"weight_decay\"),\n",
    "    )\n",
    "\n",
    "    lr_scheduler = tf.keras.callbacks.ReduceLROnPlateau(\n",
    "        monitor=\"val_loss\", factor=0.5, patience=2, min_lr=1e-8, verbose=1\n",
    "    )\n",
    "\n",
    "    early_stopping = tf.keras.callbacks.EarlyStopping(\n",
    "        monitor=\"val_loss\", patience=20, restore_best_weights=True, verbose=1\n",
    "    )\n",
    "\n",
    "    model_checkpoint = tf.keras.callbacks.ModelCheckpoint(\n",
    "        filepath=f\"{CDIR}_fold_{fold+1}.keras\", \n",
    "        monitor=\"val_loss\", \n",
    "        save_best_only=True, \n",
    "        verbose=1\n",
    "    )\n",
    "\n",
    "    history = model.fit(\n",
    "        X_tr, y_tr,\n",
    "        validation_data=(X_val_fold, y_val_fold),\n",
    "        epochs=300,\n",
    "        batch_size=32,\n",
    "        callbacks=[lr_scheduler, early_stopping, model_checkpoint],\n",
    "        verbose=1\n",
    "    )\n",
    "\n",
    "    val_loss, val_accuracy = model.evaluate(X_val_fold, y_val_fold, verbose=0)\n",
    "    print(f\"Fold {fold+1} Validation Accuracy: {val_accuracy:.4f}\")\n",
    "    \n",
    "    fold_accuracies.append(val_accuracy)\n",
    "    fold_histories.append(history)\n",
    "\n",
    "    if val_accuracy > best_accuracy:\n",
    "        best_accuracy = val_accuracy\n",
    "        best_model = model\n",
    "        model.save(f\"{CVDIR}_FINAL.keras\", include_optimizer=False) \n",
    "        print(f\"Saved best model from Fold {fold+1} with Accuracy: {val_accuracy:.4f}\")\n",
    "\n",
    "print(\"\\n=== Cross-Validation Results ===\")\n",
    "print(\"Cross-validation accuracies:\", fold_accuracies)\n",
    "print(f\"Average CV accuracy: {np.mean(fold_accuracies):.4f} ± {np.std(fold_accuracies):.4f}\")\n",
    "print(f\"Max CV accuracy: {np.max(fold_accuracies):.4f}\")\n",
    "print(f\"Min CV accuracy: {np.min(fold_accuracies):.4f}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "cv_model = tf.keras.models.load_model(f\"{CVDIR}_FINAL.keras\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "def evaluate_model(model, X, y, label=\"Test\"):\n",
    "    print(f\"\\n[== Evaluation on {label} Data ==]\")\n",
    "\n",
    "    loss, accuracy = model.evaluate(X, y, batch_size=32, verbose=0)\n",
    "    print(f\"{label} Loss: {loss:.4f}\")\n",
    "    print(f\"{label} Accuracy: {accuracy:.4f}\")\n",
    "\n",
    "    y_pred_probs = model.predict(X, verbose=0)\n",
    "    y_pred = np.argmax(y_pred_probs, axis=1)\n",
    "\n",
    "    print(f\"\\nClassification Report ({label} Data):\")\n",
    "    print(sklearn.metrics.classification_report(y, y_pred))\n",
    "\n",
    "    try:\n",
    "        auc = sklearn.metrics.roc_auc_score(y, y_pred_probs, multi_class='ovr')\n",
    "        print(f\"{label} AUC: {auc:.4f}\")\n",
    "    except Exception as e:\n",
    "        print(f\"AUC could not be calculated: {e}\")\n",
    "\n",
    "    plot_confusion_matrix(y, y_pred, label)\n",
    "\n",
    "\n",
    "def plot_confusion_matrix(y_true, y_pred, label=\"Test\"):\n",
    "    cm = sklearn.metrics.confusion_matrix(y_true, y_pred, normalize='true')\n",
    "    plt.figure(figsize=(8, 6))\n",
    "    sns.heatmap(cm, annot=True, fmt=\".2f\", cmap=\"Blues\",\n",
    "                xticklabels=np.unique(y_true),\n",
    "                yticklabels=np.unique(y_true))\n",
    "    plt.xlabel('Predicted Labels')\n",
    "    plt.ylabel('True Labels')\n",
    "    plt.title(f'Confusion Matrix ({label} Data)')\n",
    "    plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataset_loader_external = ds_loader.DatasetLoader(xlsx_path=\"../Data/External_Dataset/Label_Map.xlsx\",data_dir=\"../Data/External_Dataset\")\n",
    "X_test_external, y_test_external = dataset_loader_external.load_data()\n",
    "X_test_external, X_test = min_max_normalize(X_test_external, X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "[== Evaluation on Test Data ==]\n",
      "Test Loss: 0.1411\n",
      "Test Accuracy: 0.9698\n",
      "\n",
      "Classification Report (Test Data):\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.96      0.97      0.97       112\n",
      "           1       0.96      0.94      0.95       115\n",
      "           2       0.97      1.00      0.99       189\n",
      "           3       0.98      0.95      0.96       114\n",
      "\n",
      "    accuracy                           0.97       530\n",
      "   macro avg       0.97      0.96      0.97       530\n",
      "weighted avg       0.97      0.97      0.97       530\n",
      "\n",
      "Test AUC: 0.9927\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 800x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "evaluate_model(cv_model, X_test, y_test, label=\"Test\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "[== Evaluation on External Test Data ==]\n",
      "External Test Loss: 1.1480\n",
      "External Test Accuracy: 0.7304\n",
      "\n",
      "Classification Report (External Test Data):\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.47      0.76      0.58      1008\n",
      "           1       0.23      0.98      0.38       229\n",
      "           2       0.26      0.97      0.40       456\n",
      "           3       1.00      0.71      0.83      9141\n",
      "\n",
      "    accuracy                           0.73     10834\n",
      "   macro avg       0.49      0.86      0.55     10834\n",
      "weighted avg       0.90      0.73      0.78     10834\n",
      "\n",
      "External Test AUC: 0.9483\n"
     ]
    },
    {
     "data": {
      "image/png": "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W28pf/78unjxoj7//HPVrFlTBw8eVK5cuVSsWDGNHDlSw4YNU7du3VS9enVJsriXERERatCggVq2bKm2bdsqe/bsVuObNGmSNm3apA4dOigkJESOjo76/PPPtX79ei1cuFC5cuVKtG2xsbHauXOnevTokWid8PDwBGVOTk7KnDmzTCaT5s6dq9KlS5uvkSQFBQXpwIED2rx5szJmzKimTZvq6NGj+vrrrzVhwgR5eXlJDwyrfvLJJxo6dKiaN2+uLl26KCwsTFOmTFGNGjX0559/WmSjH3VdFi9erOvXr+udd96RyWTSmDFj1LRpU508edI8BWHDhg06efKkOnXqpBw5cpinWBw4cEDbtm1L0YxVfHy83njjDW3ZskXdunVTsWLFtH//fk2YMEFHjx41P5j1uPdCUn5fkqtdu3YaNGiQ1q9fr65du0pJvDaPu5czZsxQiRIl9MYbbyhdunT64Ycf1LNnT8XHx6tXr14WMZQvX16S9Pvvv6ts2bJP3BYgzTKAFBAZGWlIMho1apSk+nv27DEkGV26dLEo79+/vyHJ2LRpk7nM29vbkGT8+uuv5rJLly4Zzs7ORr9+/cxlp06dMiQZY8eOtThmhw4dDG9v7wQxBAUFGQ++BSZMmGBIMsLCwhKN+9455s2bZy7z8/MzsmXLZkRERJjL9u7dazg4OBjt27dPcL63337b4phNmjQxPD09Ez3ng+3ImDGjYRiG0axZM6NOnTqGYRhGXFyckSNHDmPEiBFWr8Ht27eNuLi4BO1wdnY2Ro4caS7buXNngrbdU7NmTUOSMXPmTKuv1axZ06Js3bp1hiTj448/Nk6ePGm4uroajRs3fmwbjx8/bkgypkyZYrX9kqxu9evXt6j7+eefG5KMr776yti2bZvh6OhovP/++xZ1xo4da0gyTp06ZVF++vRpw9HR0fjkk08syvfv32+kS5fOojyx63LvPnh6ehqXL182l3///feGJOOHH34wl926dStBW7/++usEv/Pz5s2zGu+jvPbaaxa/+wsXLjQcHByM3377zaLezJkzDUnG77//bhhJfC886vfFmnvx79y5M9E6bm5uRtmyZc0/J/XaJHYvEztG/fr1jQIFCliNwcnJyejRo0eS2gQ8axg+Roq4du2aJClTpkxJqr9mzRpJUkBAgEV5v379pLsPrDyoePHi5myE7mYBfH19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",
      "text/plain": [
       "<Figure size 800x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "evaluate_model(cv_model, X_test_external, y_test_external, label=\"External Test\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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fffdd0hKSqrRjSo9RxoTERGBhx56qM4xDfHggw/WOObn52fdLysrQ15eHoYMGQJBEHDw4EEAQG5uLrZv34677roLbdq0qXM+06dPh06nw7fffms9tmrVKhiNxnoXQJg8eTIMBgPWrFljPbZp0yYUFhZi8uTJ1mOhoaHYs2cPMjIynHrvCoUCU6ZMwe7du+2+xrZixQpER0fj2muvBQBoNBrI5eL/BZhMJly+fBmBgYHo0qXLFSMYrmTlypWQy+WYOHGi9djUqVPxyy+/WL8SBwd/7t999x1kMhnmz59f55iGeOCBB2ocs/3dqKysRF5eHq666ioAsH4WZrMZa9euxbhx42rt8pXmdPvtt0Or1dpFhmzcuBF5eXlcHIOIiIhczmQyYdOmTZgwYQLat29vPR4bG4s77rgDO3fuRHFxMWC5vjx+/DjOnDlT67n8/PygVquxbds2u2s3R0yePBn79++3i7patWoVNBqN9ZtGUqfoxo0bUV5e7tT5u3fvjr59+2LlypXWY2VlZfjxxx9x0003ITg42PoeJHVd17lSZmYmDh06hDvvvBPh4eHW471798bo0aOxfv1667H6ru8b8/kQUfPEoi0ROcxkMmHlypUYOXIkUlJScPbsWZw9exbJycnIzs7G1q1brWPPnTuHnj17XvF8586dQ5cuXaBUui6pRalUonXr1jWOp6amWi+mAgMDERkZiWuuuQYArBlR58+fB4B65921a1cMHDjQrjC3fPlyXHXVVejYseMVn5uUlISuXbti1apV1mOrVq1CREQE/vGPf1iPvfrqqzh27BgSEhIwaNAgLFiwwDq/+khfD5Nyv9LS0rBjxw5MmTIFCoUCsBQh33zzTXTq1AkajQYRERGIjIzEkSNHGpyZ9dVXX2HQoEG4fPmy9Xejb9++0Ov1dhEUjvzcz507h7i4OLuLX1dITEyscSw/Px+PPPIIoqOj4efnh8jISOs46bPIzc1FcXFxvb8boaGhGDdunF3m2vLlyxEfH2/38yUiIiJyhdzcXJSXl6NLly41HuvWrRvMZjMuXboEAHjhhRdQWFiIzp07o1evXnj88cdx5MgR63iNRoNXXnkFv/zyC6KjozF8+HC8+uqryMrKqncekyZNglwut17jCoKA1atXW3N2YbkOmzt3Lj799FNERERgzJgxeP/99x2+9pw2bZp1QWQAWLt2LcrLy+0W2XXkus6VpBzfuj7/vLw86+K39V3fN/bzIaLmh0VbInLYr7/+iszMTKxcuRKdOnWy3m6//XbAUpxytbq6Km27em3ZdpDajh09ejTWrVuH//73v1i7di02b95sXcDKbDY7Pa/p06fj999/R1paGs6dO4c///zT4U7KyZMn47fffkNeXh50Oh1+/PFHTJw40a6Iefvtt+P8+fN49913ERcXh9deew09evTAL7/8Uu/5+/fvj65du1oXvfr6668hCILdBe3LL7+MuXPnYvjw4fjqq6+wceNGbN68GT169GjQ53HmzBn89ddf2Llzp93vhrTYly/8bqBa94Xk9ttvxyeffIIHHngAa9aswaZNm7BhwwagEb8b58+fx65du1BSUoIff/wRU6dOrfF7SURERORJw4cPx7lz5/DZZ5+hZ8+e+PTTT9GvXz98+umn1jFz5szB33//jYULF0Kr1eLZZ59Ft27drN9Mq0tcXByGDRuGb775BgDw559/IjU11e6bZADwxhtv4MiRI3jqqadQUVGBhx9+GD169EBaWlq985eup6Q/jq9YsQJhYWG44YYbrGNcfV3nSo5c3zfm8yGi5of/giQihy1fvhxRUVFYvXp1jdvUqVPx/fffo6KiAgDQoUMHHDt27Irn69ChA06fPg2DwVDnmLCwMABAYWGh3fHaVqety9GjR/H333/jjTfewH//+1+MHz8eo0aNqrHYlvSVsvrmDcDatfr1119j+fLlUKlUNS5K6zJ58mQYjUZ89913+OWXX1BcXIwpU6bUGBcbG4t///vfWLt2LVJSUtCqVSu89NJLDr3GtGnTcOzYMRw5cgQrVqxAp06d7BaKk1bZXbJkCaZMmYLrrrsOo0aNqvE5O0r6DFauXFnjd+ORRx7Bjh07kJqaCjj4c+/QoQMyMjKQn59f5xhX/G4UFBRg69atePLJJ/H888/jlltuwejRo+2+XggAkZGRCA4Oduh34/rrr0dkZCSWL1+O77//HuXl5fjXv/7l8JyIiIiIHBUZGQl/f3+cPn26xmOnTp2CXC5HQkKC9Vh4eDhmzpyJr7/+GpcuXULv3r2xYMECu+d16NAB//nPf7Bp0yYcO3YMer0eb7zxRr1zmTx5Mg4fPozTp09j1apV8Pf3x7hx42qM69WrF5555hls374dO3bsQHp6OhYvXlzv+ePi4jBy5EisXr0a2dnZ2Lx5M2677Tao1WrAies6V2rbti0A1Pn5R0REICAgwHrMkev7hn4+RNT8sGhLRA6pqKjAmjVrcNNNN+G2226rcZs9e7a1qxCWlWcPHz6M77//vsa5xHWixDF5eXl477336hzTtm1bKBQKbN++3e7xDz74wOG5S5EA0jml/bfffttuXGRkJIYPH47PPvvMWmCsPh9JREQExo4di6+++grLly/H9ddfj4iICIfm061bN/Tq1QurVq3CqlWrEBsbi+HDh1sfN5lMNb4GFRUVhbi4OOh0OodeQ+qqfe6553Do0CG7LltYPpPq72n16tVIT0936PzVLV++HMOGDcPkyZNr/G5IqwhLnb+O/NwnTpwIQRDw/PPP1zkmODgYERERLv/dAIC33nrL7r5cLseECRPw008/Yd++fXXOCZaIjqlTp+Kbb77BsmXL0KtXL/Tu3dvhORERERE5SqFQ4LrrrsMPP/xgt55BdnY2VqxYgaFDh1rjCS5fvmz33MDAQHTs2NF6fVleXo7Kykq7MR06dEBQUJBD16ATJ060NjWsXr0aN910k13Bsri4GEaj0e45vXr1glwud+oaNycnB/fffz8MBoPdNa6j13WuFBsbiz59+uDzzz+3ayQ4duwYNm3aZO0CduT63hWfDxE1L64LkiSiZu3HH39ESUkJbr755lofv+qqq6zdhZMnT8bjjz+Ob7/9FpMmTcJdd92F/v37Iz8/Hz/++CMWL16MpKQkTJ8+HV988QXmzp2LvXv3YtiwYSgrK8OWLVvw73//G+PHj0dISAgmTZqEd999FzKZDB06dMDPP/+MnJwch+fetWtXdOjQAY899hjS09MRHByM7777rtYFFt555x0MHToU/fr1w3333YfExERcuHAB69atw6FDh+zGTp8+HbfddhsA4MUXX3Tq85w8eTKee+45aLVa3H333XZfnS8pKUHr1q1x2223ISkpCYGBgdiyZQv++usvh7ocYMnEGjJkCH744QfApogruemmm/DCCy9g5syZGDJkCI4ePYrly5c3qBNhz549OHv2LGbPnl3r4/Hx8ejXrx+WL1+O//73vw793EeOHIl//etfeOedd3DmzBlcf/31MJvN2LFjB0aOHGl9rXvuuQf/93//h3vuuQcDBgzA9u3b8ffffzs89+DgYGtem8FgQHx8PDZt2oSUlJQa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NRUTJ05Er169AADt27e3Pj81NRV9+/bFgAEDAADt2rVz6XvyBYxHICIiIiIiIiIiIo85efIklEolkpOTrcdatWqFLl264OTJkwCAhx9+GP/73/9w9dVXY/78+Thy5Ih17IMPPoiVK1eiT58+eOKJJ7Br1y6vvA93YqctERERERERERFRE+anUuDEC2O89trucM8992DMmDFYt24dNm3ahIULF+KNN97AQw89hLFjx+LixYtYv349Nm/ejGuvvRazZs3C66+/7pa5eAM7bYmIiIiIiIiIiJowmUwGf7XSK7eG5Nl269YNRqMRe/bssR67fPkyTp8+je7du1uPJSQk4IEHHsCaNWvwn//8B5988on1scjISMyYMQNfffUV3nrrLXz88ccu+CR9BzttiYio6TBUApfPArmnqm6luYA2GNCGAn6h9W9V/kADLiqIiKiFyE8BNj0DXD0HSBjo7dkQERE1S506dcL48eNx77334qOPPkJQUBCefPJJxMfHY/z48QCAOXPmYOzYsejcuTMKCgrw22+/oVu3bgCA5557Dv3790ePHj2g0+nw888/Wx9rLli0JSJqKcwmwFgJGHWAoaJq31hhc8zmvrESgAxQ+QFKDaCUtlpApRW31ptGHKfQAHIXfInDUAHk/Q3knhYLszmWAm1BCiCYG3duuapaMTfkyoVebUjVvibINwu+ggBUFAAFF8SbvhQIjBZvQbFAQAQgd89XloiImp3ja4BTP4v/28+iLRERkdssXboUjzzyCG666Sbo9XoMHz4c69evh0qlAgCYTCbMmjULaWlpCA4OxvXXX48333wTAKBWqzFv3jxcuHABfn5+GDZsGFauXOnld+RaLNoSEZlNwMkfAX050PFaICjG2zNynFEPlGaLt5JMoCTLZj8bKM0Sj1UUAmaDZ+aksC3s1lPstb0PAcizdNEWXBDv10YTAkR1BSK7AJHdgOBYQFcivsfKwjq2ReK+2Sh+DmW54s1ZMgWgUDfgeTLAv5WliBoj3gJjbPYtxVX/VnUXvY06oPCS+NkUXqgq0BZcAAouArriK7y+HAiIqvZ6tvOwvL460HNFaUGo+uOAdDNU1vHHhHr+wGCosD9XbecRzFW/h7X9/tV1X96ASyVBAEy6uv8YYqis/X2bDIBC5fjcpH25so7PsfLKn5fZ2LCfXWAUMOeIAwOJmih9mWVb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L8eyAAA39Y6tOcCaa1vY8BeRCr6MRiAiIiIiXyMtQgZHirbMtCUiIiLPYtG2KXBDnu3Os7koqjAgMkiD5MRWNQdIubauiEfgImRERERE5GukAqxCU39jBDttiYiIyMNYtPV1tnm2ia4r2v50WFyA7MZesVDIa4ku0EqdtkUNfxEpHoGdtkRERETka6RO2/oWIQMzbYmIiMjzWLT1ddY823AgsptLTllpMGHTcTEaYVxSXO2DpE7bxmTaSp22tgubEREREVGTt+qvVMxZeRA7zuR6eyoNJ3XaStEHVyJ12hoq6xtJRERE5BIs2vo6Kc+2nevybH87lYMyvQnxoX7o1ya09kEaV3TaWgq+jEcgIiIialb2phRg7aEMHElrxLWitznTaSsVdo2VgCC4d15ERERELNo2AW7Is/3pSAYA4KakWMhktUQjwEWZtjp22hIRERE1R/GhYqEzo7AJxwUYysWtM522EACT3q3TIiIiIgKLtj7ONs+23VCXnLJUZ8TWkzkAgHG964hGgIsybbkQGREREVGzFBcqFjqbdtFW6rR1oGhrO8bIiAQiIiJyPxZtfZkb8my3nMiGzmhG+4gA9IgLrnugKzJt2WlLRERE1CxVFW2bcAFTWlTMkaKtQg3A8g015toSERGRB7Bo68vckGf702EpGiGu7mgEuCrTtsRyLnbaEhERETUnzarTVulApq1MVjWOnbZERETkASza+rIUqWjrmjzbwnI9tltW+B3XO/bKg12Raau3FG3V7LQlIiIiak7iLJm2JTojiisN3p5OwzjTaQubBctYtCUiIiIPYNHWVxn1wKU94r6L8mw3Hs+CwSSga0wQOkXXU0h1RaatNR6BnbZEREREzYm/WolQfxXQlLttnem0tR3Hoi0RERF5AIu2vsoNebY/Hc4EAIxLusICZBJtqLjVuWAhMmbaEhERETU7cSFNPCLB2mnrZNGWmbZERETkASza+ioX59nmluiw61weAGBcbweKtq7MtFWz05aIiIiah+3bt2PcuHGIixPXB1i7du0Vx69ZswajR49GZGQkgoODMXjwYGzcuNFuzIIFCyCTyexuXbt2dfM7abwmvxiZtdPWwXgEdtoSERGRB7Fo66vS/hK3ba92yel+OZYJswAkJYSiTSv/+p8gZdrqSgCzuWEvqmOnLRERETUvZWVlSEpKwvvvv+/Q+O3b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UqxevbrG8dWrV+Pzzz931bxahop8QDCJ+wGRdQ47nlEMk1lARKAGsSENvLhsLJms/lxbLkRGREREPuqaa67B33//jVtuuQWFhYUoLCzErbfeiuPHj+PLL7902+vGxMQgOzvb7lh2djaCg4Ph5+eHiIgIKBSKWsfExMTUeV6NRoPg4GC7m6+JCxWvWzMKK4DY3sD9vwMRXQCTHkjb551Jmc2AyRIrwU5bIiIi8mFOF20XLlyIiIiIGsejoqLw8ssvu2peLYPUZesXDijVdQ47mibm2fZuHeKdRcgktrm2tZHiEdhpS0RERD4oLi4OL730Er777jt89913+N///oeCggIsWbLEba85ePBgbN261e7Y5s2brd2+arUa/fv3txtjNpuxdetW65imKi5ULIpmFFriCDRBYvEWAApTvTMpKRoBzLQlIiIi3+Z00TY1NRWJiYk1jrdt2xapqV66+GqqHFyE7Eia2Nna21t5thJNPZ22UjxCbdEJRERERM1AaWkpDh06hEOHDgEAUlJScOjQIet18Lx58zB9+nTr+AceeADnz5/HE088gVOnTuGDDz7AN998g0cffdQ6Zu7cufjkk0/w+eef4+TJk3jwwQdRVlaGmTNneuEduo5UtE0vtCluSpEIRZe8MynbSAN22hIREZEPczrTNioqCkeOHEG7du3sjh8+fBitWrVy5dyaP0cXIbN02iZ5K89WInXaVtbTacuiLRERETVT+/btw8iRI633pVzZGTNmYNmyZcjMzLRrZEhMTMS6devw6KOP4u2330br1q3x6aefYsyYMdYxkydPRm5uLp577jlkZWWhT58+2LBhQ43FyZqa+OqdtrAp2nq701ahBuSKhp2DmbZERETkAU4XbadOnYqHH34YQUFBGD58OADg999/x/+3d+fxUdT3H8ffe2/ug9zcyn0rCOKtUPFCUFsv6oHVViutFv2p1IrWWlHrfVRaKt6K1Vq1RfFAUfHCgggiIMh9JCRA7mR3s7u/P2Z3k5AEkrBXwuv5eOxjZmdmZ767LDp88sn7e9111+nCCy+MxBg7r1Cnbcs35BW1Hm0oqZIkDY11p20o07a0+f1MRAYAADq5k046SX6/v8X9zzzzTLOv+eabb/Z73mnTpmnatGlhGWO8CM7FUFbjUZWrTkkOa+yLtqFJyNrZZSs6bQEAQHS0uWj7pz/9SZs2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qt2SpLSEmH/kAABEXGVlpbZt28bM4jigxMRE5efny27vGJ1zWVlZslgsKioqarS9qKjogHm0999/v+655x598MEHGjZs2H6PPeyww5SVlaX169c3W7R1OBxMVIa2Sc6TLHbJ65YqdtQXcSVp46fSv65sHIdwxJSm57AnSefMluaeJi1/URpwljTgjCaH5aQ4dcFRPXTBUT2anqOV0hPtumh0D100uod2lNbovyt26I1vduj7neVauGaXFq7ZpUS7RacOytWkEV11XN8s2Szmdl8PAIB4E9MKYnszwe68807l5OToF7/4hT799NP9XiNe8r7KQhORdYx/kAAA0F5er1fbtm1TYmKisrOzD6kuSrSe3++X2+1WcXGxNm7cqL59+8psjv+Ci91u18iRI7Vw4UJNnjxZkuTz+bRw4UJNmzatxdfdd999+vOf/6x3331Xo0aNOuB1tm3bpt27dys/Pz+s48chzGyW0rpLe340IhLSe0g+r/Tpg/VxCNkDpJ89Ux+H0JweR0vH/Eb6/FHpP9dJ3cdISc1nL4dLQXqCfnnC4frlCYdrXVGF3vp2h95cvkNb9lTrjeU79MbyHcpMsuvMofmafERXHdkjnf/3AAA6vJgWbduTCbZ48WI99dRTWr58eauuES95X8QjAAAOFR6PR36/X9nZ2UpIYOIYtCwhIUE2m02bN2+W2+1uFBcQz6ZPn67LLrtMo0aN0ujRo/Xwww+rqqoq9Jtjl156qbp27apZs2ZJku69917NnDlTL730knr16qXCwkJJUnJyspKTk1VZWak//vGPOu+885SXl6cff/xRN910k/r06aMJEybE9L2ik0nvUV+0rdwViENYZOwbMUU64y+N4xBacvKt0rr3pOI10vzpRqE3SkXSvrkpuuHU/pr+k376Zmup3lq+Q/9dsUMllW49/+VmPf/lZvXNSdYFR3XXOUd0VZdkOtIBAB1T/LczNFBRUaFLLrlEc+bMUVZWVqteM2PGDJWVlYUeW7dujfg4m1M/ERlFWwDAoYEuJ7RGR+iu3dcFF1yg+++/XzNnztSIESO0fPlyLViwINSIsGXLFu3cuTN0/JNPPim3262f/vSnys/PDz3uv/9+KZDtu2LFCp199tnq16+ffvGLX2jkyJH69NNPiUBAeAUjEb5/U5p9nFGwtSVKk5808mlbU7CVJJvTiEkwW6Xv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TrL65aYo2WnV6p3BAm25Cstrmx1XVrJDgwtSNaggVYMLUpWfliCzyfgzMZskk0wymYzs14brZpNJpkAmrBQoeDcscFuNdavZtN/iabBgvz0QH7J9b7V2lNVq+96awLYa7apwqdbj04biqkYRG9kpDp3Uz+imPa5v89204ZCRZNdRSZk6qldmo+1VLiPyY31xRaNi7qbd1apye1Vb523xnLFC0TbCSquDmbYUbQEAiFd///vfdccdd2jbtm2NCpeTJk1Sly5ddOutt2r69On68ssvVVVVpYEDB2rWrFkaP358u6734IMP6umnn9aGDRuUmZmpiRMn6r777lNycn1Xy2effaZbb71VS5YskcPh0OjRozVv3jxlZGTI5/Pp/vvv19///ndt3bpVubm5+tWvfqVbb71VixYt0sknn6y9e/cqPT1dkrR8+XIdccQR2rhxo3r16qVnnnlG119/vZ577jndcsst+uGHH7R+/XoVFxfr97//vb755ht5PB6NGDFCDz30kI488sjQuEpLS3XzzTfrjTfeUFlZmfr06aN77rlHJ598svLz8zV37lz99Kc/DR3/xhtvaMqUKSosLFRKSko7/4QAAACix2I2KdFu5PK2V3mtR+uKjALuD0WVWrerQj8UVaio3BWa8G7fX99vqFeXRA0uSNOgBkXanBRnu8cTDg0L9oMLmu92ddV5VdigkFvpqtNRvTI1KD81pvnASQ6rhnZL09BujcftrvNp8+4qebxRaGNuI4q2EZbitKpPTrK6pifEeigAAMSG3y95qmNzbVtisKVgv372s5/pN7/5jT766CONGzdOkrRnzx4tWLBAb7/9tiorK3XGGWfoz3/+sxwOh5577jlNnDhRa9euVY8ePdo8LLPZrEcffVS9e/fWhg0b9Otf/1o33XST/vrXv0qBIuu4ceN0xRVX6JFHHpHVatVHH30kr9foAJgxY4bmzJmjhx56SMcdd5x27typNWvWtGkM1dXVuvfee/WPf/xDXbp0UU5OjjZs2KDLLrtMjz32mPx+vx544AGdccYZWrdunVJSUuTz+XT66aeroqJCL7zwgg4//HB9//33slgsSkpK0oUXXqinn366UdE2+JyCLQAAOJSkOm0a2TNDI3tmNNpeVuMJFXJ/KKrQul0VqqytU/+8lFCRdmB+qpLbOJlevHBYLerZJUk9uyTFeiitYrea1Tc3Pu9TTX6/P/5KyRFUXl6utLQ0lZWVKTU1NdbDAQCg06mtrdXGjRvVu3dvOZ1OyV0l3V0Qm8H8fodkb90N4+TJk9WlSxc99dRTUqD79o9//KO2bt3abGzAkCFDdPXVV2vatGnSQU5E9tprr+nqq69WSYnxq3MXX3yxtmzZosWLFzc5tqKiQtnZ2Xr88cd15ZVXNtnf2k7bqVOnavny5Ro+fHiL4/L5fEpPT9dLL72ks846S++9955OP/10rV69Wv369Wty/JIlS3TMMcdo69atys/P165du9S1a1d98MEHOvHEE5u9RpPvSwPct7UenxUAAEDH0Nr7NoLLAAAAJE2ZMkX/+te/5HK5JEkvvviiLrzwQpnNZlVWVurGG2/UwIEDlZ6eruTkZK1evVpbtmxp17U++OADjRs3Tl27dlVKSoouueQS7d69W9XVRkdysNO2OatXr5bL5Wpxf2vZ7XYNGzas0baioiJdddVV6tu3r9LS0pSamqrKysrQ+1y+fLm6devWbMFWkkaPHq3Bgwfr2WeflSS98MIL6tmzp0444YSDGisAAABwqOmYvdYAAKDjsCUaHa+xunYrTZw4UX6/X/Pnz9dRRx2lTz/9VA899JAk6cYbb9T777+v+++/X3369FFCQoJ++tOfyu12t3lImzZt0llnnaVrrrlGf/7zn5WZmanFixfrF7/4hdxutxITE5WQ0HKs0v72KRC9oMBEEUEeT9PZjhMSEppMNHHZZZdp9+7deuSRR9SzZ085HA6NHTs29D4PdG1JuvLKK/XEE0/olltu0dNPP62pU6cecDZgAAAAAI3RaQsAACLLZDIiCmLxaEOx0Ol06txzz9WLL76ol19+Wf379w9NwPXZZ5/p8ssv1znnnKOhQ4cqLy9PmzZtatfHsXTpUvl8Pj3wwAM6+uij1a9fP+3Y0bioPWzYMC1cuLDZ1/ft21cJCQkt7s/OzpYk7dy5M7Rt+fLlrRrbZ599pt/+9rc644wzNHjwYDkcjlBkQ3Bc27Zt0w8//NDiOX7+859r8+bNevTRR/X999/rsssua9W1AQAAANSjaAsAABAwZcoUzZ8/X3PnztWUKVNC2/v27avXX39dy5cv17fffquLL75YPp+vXdfo06ePPB6PHnvsMW3YsEHPP/+8Zs+e3eiYGTNm6Ouvv9avf/1rrVixQmvWrNGTTz6pkpISOZ1O3Xzzzbrpppv03HPP6ccff9SXX34ZyuLt06ePunfvrjvuuEPr1q3T/Pnz9cADD7RqbH379tXzzz+v1atX66uvvtKUKVMaddeeeOKJOuGEE3Teeefp/fff18aNG/XOO+9owYIFoWMyMjJ07rnn6v/+7/906qmnqlu3bu36nAAAAIBDGUVbAACAgFNOOUWZmZlau3atLr744tD2Bx98UBkZGTrmmGM0ceJETZgwIdSF21bDhw/Xgw8+qHvvvVdDhgzRiy++qFmzZjU6pl+/fnrvvff07bffavTo0Ro7dqzefPNNWa1GstVtt92mG264QTNnztTAgQN1wQUXaNeuXZIkm82ml19+WWvWrNGwYcN077336q677mrV2J566int3btXRx55pC655BL99re/VU5OTqNj/vWvf+moo47SRRddpEGDBummm26S1+ttdEww6uGKK65o12cEAAAAHOpM/oaBZ4cAZtYFACCyamtrtXHjRvXu3VtOpzPWw0EMPP/88/rd736nHTt2yG637/fY/X1fuG9rPT4rAACAjqG1921MRAYAAICwqK6u1s6dO3XPPffoV7/61QELtgAAAACaRzwCAABAGL344otKTk5u9jF48OBYDy+i7rvvPg0YMEB5eXmaMWNGrIcDAAAAdFh02gIAAITR2WefrTFjxjS7z2azRX080XTHHXfojjvuiPUwAAAAgA6Poi0AAEAYpaSkKCUlJdbDAAAAANCBEY8AAAAAAAAAAHGEoi0AAIgIv98f6yGgA+B7AgAAADRF0RYAAISVxWKRJLnd7lgPBR1AdXW1dAjk/QIAAABtQaYtAAAIK6vVqsTERBUXF8tms8ls5mfEaMrv96u6ulq7du1Senp6qNgPAAAAgKItAAAIM5PJpPz8fG3cuFGbN2+O9XAQ59LT05WXlxfrYQAAAABxhaItAAAIO7vdrr59+xKRgP2y2Wx02AIAAADNoGgLAAAiwmw2y+l0xnoYAAAAANDhEDIHAAAAAAAAAHGEoi0AAAAAAAAAxBGKtgAAAAAAAAAQRw65TFu/3y9JKi8vj/VQAAAAsB/B+7Xg/Rtaxj0uAABAx9Dae9xDrmhbUVEhSerevXushwIAAIBWqKioUFpaWqyHEde4xwUAAOhYDnSPa/IfYq0LPp9PO3bsUEpKikwmU1SuWV5eru7du2vr1q1K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",
      "text/plain": [
       "<Figure size 1400x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(1, 2, figsize=(14, 6))\n",
    "\n",
    "ax[0].plot(history.history['accuracy'], label='accuracy')\n",
    "ax[0].plot(history.history['val_accuracy'], label='val_accuracy')\n",
    "ax[0].set_title('Accuracy vs Val Accuracy')\n",
    "ax[0].set_xlabel('Epochs')\n",
    "ax[0].set_ylabel('Accuracy')\n",
    "ax[0].legend()\n",
    "\n",
    "ax[1].plot(history.history['loss'], label='loss')\n",
    "ax[1].plot(history.history['val_loss'], label='val_loss')\n",
    "ax[1].set_title('Loss vs Val Loss')\n",
    "ax[1].set_xlabel('Epochs')\n",
    "ax[1].set_ylabel('Loss')\n",
    "ax[1].legend()\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "tenv",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
